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