填空题
以下程序的运行结果是{{U}} 【9】 {{/U}}。
#include <stdio.h>
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0:a++; break;
case 1: b++; break;
}
case 2:a++; b++;break;
case 3:a++;b++;
}
printf("a=%d,b=%d/n",a,b);
}
【正确答案】
1、a=2,b=1
【答案解析】[解析] 本题考查了switch结构的内容。C语言中,程序执行完一个case标号的内容后,如果没有break语句,控制结构会转移到下一个case继续执行,因为case常量表达式只是起语句标号作用,并不是在该处进行条件判断。本题程序在执行完内部switch结构后,继续执行了外部switch结构的case 2分支,最后a和b的值分别为2和1。