问题 单项选择题

请阅读以下程序

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。

问答题 论述题
单项选择题