以下程序的运行结果是【 】。 #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(

admin2010-09-05  79

问题 以下程序的运行结果是【  】。
#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;
         case 3:a++;b++;
      }
      printf("a=%d,b=%d\n",a,b);
   }

选项

答案 a=2,b=1

解析 本题考查了switch结构的内容。C语言中,程序执行完一个case标号的内容后,如果没有break语句,控制结构会转移到下一个case继续执行,因为case常量表达式只是起语句标号作用,并不是在该处进行条件判断。本题程序在执行完内部switch结构后,继续执行了外部switch结构的case 2分支,最后a和b的值分别为2和1。
转载请注明原文地址:https://kaotiyun.com/show/WpWp777K
0

最新回复(0)