问题 填空题

以下程序运行后的输出结果是______ 。
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;

printf("%d %d\n", a, B) ;

答案

参考答案:2 1

解析: 本题考核的知识点是switch语句的嵌套应用。外层switch语句后面括号里的x的值为1,所以执行从case1:后面的语句开始执行,而case1:后面语句也为switch语句,这个switch语句后面括号里的y的值为0,所以从该 switch语句里的case():开始执行即执行a++,这时 a的值变为1,执行完毕,遇到break语句,退出内层switch语句,又回到外层switch语句,继续执行 case1:下面的语句即case2:执行完毕后,a自加1变为2,b自加1变1。所以最后输出的a和b的值为21。

解答题
单项选择题