问题 单项选择题

有下列程序: #include <stdio.h> 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;case 3: a++;b++; } printf("a=%d,b=%d\n",a,B) ; } 程序的运行结果是( )。

A.a=1,b=0

B.a=2,b=2

C.a=1,b=1

D.a=2,b=1

答案

参考答案:D

解析: 本题考查的是用switch语句实现多分支选择结构,首先进入第一个switch(x)判断,进入case 1中进行嵌套判断,如果switch(y)也成立,a自加1,遇到break,退出嵌套,接着执行case 2,a自加为2,b自加为1,遇到break,结束循环,此时a=2,b=1,故选项D)正确.

选择题
多项选择题