main()
{
char c,d;
c=getchar;
d=getchar;
switch(c-'0')
{case 1:switch(d%'0')
{
case 1:printf("*");
case 2:printf("@");
}
case 2:switch(d%'0')
{case 1:printf("#");
case 2:printf("&");}
}
}
看不懂
输入21,程序的输出结果是
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
LYSnowy 2022-02-07 15:03关注结果如图

c=='2'
c - '0' = '2' - '0' = 2
所以执行case 2这个语句,case 2 语句中需要判断switch d % '0'
d = '1' 字符1的ascii码是49,‘0’的ascii码是48,所以49%48=1
所以执行case 1,输出#,但是这个case语句中没有break,就会继续执行,输出&本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 2无用