输入21,程序的输出结果是

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("&");}
}

看不懂

结果如图

img

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,就会继续执行,输出&