首页 > 用户发贴区 > 编程问题提问区 > 求助switch问题
2007
09-16

#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++;语句?


求助switch问题》有 3 条评论

  1. 5iluo 说:

    case 1;之后没有 break;

  2. renda1 说:

    对了,

    #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);

    这样就好了。
    }

  3. zhh020ac 说:

    谢谢

留下一个回复