下列程序的输出结果是()
main()
{
int x=1,a=0,b=0;
switch(x)
{
case0:b++;
case1:a++;
case2:a++;b++;
}
printf(“%d,%d\n",a,b);
}
A、
1,0
B、
1,1
C、
2,1
D、
2,2
【正确答案】:C
【题目解析】:
该switch结构分支没有加break,即开始执行后,程序有x=1调到case1分支,a++(此时a=1),继续执行下一个分支,a++,b++(此时a=2,b=1)
main()
{
int x=1,a=0,b=0;
switch(x) // x=1
{
case0:b++;
case1:a++; // 因x=1,调到case1,a=a++=a+1=1
case2:a++;b++; //因无break(跳出语句),继续执行case2,a=a++=1+1-2,b=b++=b+1=0+1=1
}
printf(“%d,%d\n",a,b);//执行,输出:2,1
}