#include main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break#include 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); } 程序的运行结果是 A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 求解释?
问题描述:
#include main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break
#include 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); } 程序的运行结果是 A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 求解释?
答
答案是c吧.
当x=1;执行case 1:然后y=0在执行case 0;此时 a++ ,a=1;
然后 break,跳出,跳出后注意:这里 在判断x时,case 1.后面的语句执行完,没有break.
于是继续执行case2 这时,a++,b++ 所以 a=2,b=1.