有以下程序 #include main() {intx=1,y=0,a=0,b=0; switch(x) {case1:switch(y) {case0:a++;break; case1:b++;break; } case2:a++;b++;break;

admin2015-07-31  31

问题 有以下程序
#include
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
}
printf("a=%d,b=%d\n",a,b);
}
程序运行后的输出结果是

选项 A、a=1,b=0
B、a=1,b=1
C、a=2,b=1
D、a=2,b=2

答案C

解析 本题重点考察switch语句,switch语句中case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。由于变量a和变量b均赋初值为0,当程序执行完语句case  0:  a++; break;后,a的值为1,继续执行语句case  2:  a++; b++;  break;a的值为2,b的值为1。因此C选项正确。
转载请注明原文地址:https://kaotiyun.com/show/ybDp777K
0

最新回复(0)