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