有以下程序 #include main() { int x=1, y=0,a=0,b=0; switch( x ) { case 1: switch ( y ) { case 0: a++; break; case 1: b++;

admin2020-07-28  37

问题 有以下程序
#include
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 );
}
程序运行后的输出结果是

选项 A、a=1,b=0
B、a=1,b=1
C、a=2,b=1
D、a=2,b=2

答案C

解析 本题重点考察switch语句,switch语句中case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。由于变量a和变量b均赋初值为0,当程序执行完语句case  0:  a++; break;后,a的值为1,继续执行语句case  2:  a++; b++;  break;a的值为2,b的值为1。因此C选项正确。
转载请注明原文地址:https://kaotiyun.com/show/hE3p777K
0

最新回复(0)