单选题
有以下程序:
#inelude <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;
}
printf("a=%d,b=%d/n",a,b);
}
程序运行后的输出结果是______。
【正确答案】
C
【答案解析】[解析] 本题重点考查switch语句。switch语句中case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。由于变量a和变量b均赋初值为0,当程序执行完第二层switch的语句case 0: a++,break后,第二层switch结束,a的值为1,继续执行第一层switch的语句case 2: a++; b++; break; a的值为2,b的值为1。因此C选项正确。