问题 单项选择题

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

多项选择题
单项选择题