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

admin2006-08-25  23

问题 以下程序运行后的输出结果是【 】。
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分支结构中,每个case语句后应有一个break语句跳出。本题中外层的switch分支中的第一个分支没有break语句,所以,外层分支事实上没有分支,是顺序执行的(因为x的值满足进入第一个分支的条件);第二个switch分支满足第1个case条件,此时a、b的值为1,0;再执行外层switch分支的第二个case语句,a、b均加1,最后a、b的值分别为2和1。
转载请注明原文地址:https://kaotiyun.com/show/eaHp777K
0

相关试题推荐
最新回复(0)