问答详情
源自:4-16 分支结构之switch语句

break问题,为何第二个注释是终止第一个switch

# include <stdio.h>  

  

int main()  

{  

    int x = 1, y = 0, a = 0, b = 0;  

      

    switch(x)    //第一个switch  

    {  

    case 1:  

        switch(y)  //第二个switch  

        {  

        case 0:  

            a++;  

            break;//终止的是第二个switch  

        case 1:  

            b++;  

            break;//终止的是第一个switch  

        }  

        b = 100;  

        break;  

    case 2:  

        a++;  

        b++;  

        break;  

    }  

    printf("a = %d, b = %d\n", a, b);  

      

    return 0;  

}  


提问者:慕婉清9471320 2018-03-22 16:46

个回答

  • 慕田峪3667243
    2018-05-10 19:50:32

    switch(y)

      {  

            case 0:  

                a++;  

                break;//终止的是第二个switch  

            case 1:  

                b++;  

                break;//终止的是第一个switch  

            }  

    这是第一个switch(X)中case1的一个执行代码,这个执行代码结束了那就自动继续b=100;break;然后再跳出

  • 叶紫月520
    2018-03-22 17:31:18

    首先第二个注释没有终止第一个switch。

    第二个break跳出了第二个switch语句,然后执行b=100http://img1.mukewang.com/5ab377dc0001fca806500392.jpg