问题 单项选择题

有如下程序:
#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) 正确。

单项选择题
单项选择题