问题
单项选择题
有如下程序:
#include<stdio.h>
main()
int x=1,a=0,b=0;
switch(x)
casc 0:b++;
case 1:a++;
case 2:a++;b++;
printf("a=%d,b=%d\n",a,b);
该程序的输出结果是( )。
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2
答案
参考答案:A
解析: 该程序的关键是要搞清楚程序执行的路线。由于x的值等于1,所以在switch语句中,程序从case 1后面的语句开始执行。由于case 1后面没有break语句,所以程序顺序执行 case 2后面的语句。程序共执行了三条语句:a++;a++;b++;所以,变量a和b最后的值分别为2和l。选项A) 正确。