问题 单项选择题

请阅读以下程序 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。

操作题
单项选择题