问题
单项选择题
请阅读以下程序
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;
cout<<"a="<<a<<"b="<<b<<endl;
上面程序的输出结果是
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2
答案
参考答案:A
解析: 本题考察switch语句的嵌套,以及break语句的使用规则,不再执行下面的case语句,如果没有break语句,则会顺序执行随后语句。据此,读程序可知,内层switch执行case 0分支,故a增1,跳出内层switch后,由于没有break语句;随后执行外层switch的case 2分支,a又增1,b增1。故答案为A。