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

admin2013-02-23  30

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

选项

答案21

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

最新回复(0)