这种题目最简单了,直接输入,运行,自己看图吧~
switch的作用是根据括号内的值来执行不同程序,由case来指定
首先,switch(x)这行,因为x=0,所以要执行下面的“case 0:”
再然后出现了*,因为 switch(y==2)
你不要说y=2,所以执行case 2
不不不,
y==2是一个判断语句,判断y是不是等于2
很明显条件成立,则为真,
真就是“1”,所以执行 “case 1:”后面的内容,输出*
出现#是因为 switch(z)这行,根据z的值决定执行后面哪一行。
如果z=1,就输出$,如果z=2,就输出*
其他情况下,就输出#
由于z=3,所以输出的是#
x=0;swithch 语句中,执行
case 0:switch(y==2)
{ case 2:printf("%"):break:
}
再由于其中y==0为真即1,所以执行case 1:printf("*");break;输出*;
出来后继续执行(因为外面的switch语句没写break)
case 1:switch(z){case 1:printf("$");
case 2:printf("*");break:
default:printf("#"):
}
因为z=3,所以在case 2 中没有想对应的,执行default 语句,输出#
综上输出的应该是*#;仔细想想吧,不懂得话再问好了,加油喔
如果我是老板,有这样写:switch的员工,炒
输出结果为*#
输出是 *$*