问题 填空题

下列程序的运行结果是______。
main()
int a=2,b=7,c=5;
switch(a>0)
case 1:switch(b<0)
case 1:printf("@");break;
case 2:printf("!");break;

case 0:switch(c==5)
case 0:printf("*");break;
case 1:printf("#");break;
case 2:printf("$");break;

default:printf("&")

printf("\n");

答案

参考答案:#&

解析: 本题考查switch case语句,首先判断a>0成立,由已知条件知,这个表达武的结果为真,所以执行“case 1:分支”,再判断b<0是否成立,由巳知条件知道这个关系表达武的结果为假,因而退出,“case1:分支”,执行“case0:分支”,又因为表达式c==5的值为真,所以输出符号“#”退出内层switch语句,再执行“default:printf("&");”语句,输出符号&。

综合
单项选择题