以下程序运行后输出的结果是【 】。 main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case 0:a++;break;

admin2013-02-23  67

问题 以下程序运行后输出的结果是【  】。
   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("%d%d\n",a,b) ;
   }

选项

答案2 1

解析 外层switch语句后面括号里的x的值为1,所以执行从casel:后面的语句开始执行,而cascl:后面语句也为switch语句,这个switch语句后面括号里的y的值为0,所以从该switch语句里的case0:开始执行即执行a++,这时a的值变为1,执行完毕,遇到 break语句,退出内层switch语句,又回到外层switch语句,继续执行casel:下面的语句即 case2:执行完毕后,a自加1变为2,b自加1变为1。所以最后输出的a和b的值为21。
转载请注明原文地址:https://jikaoti.com/ti/oXn0FFFM
0

最新回复(0)