答案应为d
本题要注意的是swicth语句的分支没有break,因此只要遇到满足的条件,就会执行此后的所有语句
首先判断d的值,d=a>20?b:c表示如果a大于20则该表达式的值为b 否则为c ;显然a是55大于20,所以d为50。接着执行switch语句,d 是50对应入口为case 50:所以输出b 值50;由于该入口后没有break;所以继续下面case 60:的语句,又输出了c值60,又没有遇到break;语句,就继续执行下面的default语句,又输出了$并回车换行。整个程序结束。
答案是d
首先判断d的值,冒号表达式d=a>20?b:c表示如果a大于20则该表达式的值为b 否则为c ;显然a是55大于20,所以d为50。接着执行switch语句,d 是50对应入口为case 50:所以输出b 值50;由于该入口后没有break;所以继续下面case 60:的语句,又输出了c值60,又没有遇到break;语句,就继续执行下面的default语句,又输出了$并回车换行。整个程序结束。
-1 (X--,是先取X的值然后再X=X-1)
调试分解:
1、X=2 while(2) x=x-1;
2、x=1 while(1) x=x-1;
3、x=0 while(0) x=x-1;即x=-1,然后跳出循环
4、输出结果x=-1
dfs
选d