为了账号安全,请及时绑定邮箱和手机立即绑定

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;  

}  


正在回答

2 回答

switch(y)

  {  

        case 0:  

            a++;  

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

        case 1:  

            b++;  

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

        }  

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

0 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信