有以下程序 #include <stdio.h> main() { int x=1, y=0,a=0,b=0; switch( x ) { case 1: switch ( y )

admin2021-04-28  24

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

选项 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/yPtp777K
0

最新回复(0)