下列程序的输出结果是________。 #include main() { int x=1,y=1,a=1,b=1; switch(x) { case 1: switch(y) {

admin2012-12-03  16

问题 下列程序的输出结果是________。
  #include
  main()
  {  int x=1,y=1,a=1,b=1;
    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=2,b=3。

解析 程序从x=1语句开始执行,之后执行第一个switch语句,x=1,所以执行case 1,case 1语句中退出第二个switch语句,则整个case 1的复合语句执行完毕,由于这个case 1的后面没有break语47使其退出,所以接着执行下列的case 2的后面的语句,即将a、b各加1,得到a=2,b=3。
转载请注明原文地址:https://kaotiyun.com/show/VuPp777K
0

最新回复(0)