#include”stdio.h”
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(“a=%d,b=%d\n”,a,b);
}
运行结果为什么是a=2,b=1,不是只执行了a++语句吗?为什么有人说还执行了case 2: a++;b++;语句?
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(“a=%d,b=%d\n”,a,b);
}
运行结果为什么是a=2,b=1,不是只执行了a++语句吗?为什么有人说还执行了case 2: a++;b++;语句?
>> 本文固定链接: http://www.vcgood.com/archives/1823
case 1;之后没有 break;
对了,
#include”stdio.h”
main()
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1: switch(y)
{
case 0: a++;break;
case 1: b++;break;
}
break;
case 2: a++;b++;break;
}
printf(“a=%d,b=%d\n”,a,b);
这样就好了。
}
谢谢