有以下程序 #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
问题描述:
有以下程序 #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; case 3:a++; b++; }printf(“a=%d,b=%d\n”,a,b); } 程序的运行结果是 A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1
答
D
#include
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1://x=1 执行下面
switch(y)
{
case 0://y=0 执行下面
a++;//执行完后a=1
break; //跳出第二个switch
case 1:
b++;
break;
} //没有break往下执行
case 2:
a++; //执行完后a=2
b++; //执行完后b=1
break;//跳出第一个switch
case 3:
a++;
b++;
}//以上执行完,下面输出
printf("a=%d,b=%d\n",a,b);
}