【C语言】switch中无break的情况

博客介绍了switch…case的三个规则,一是既无成功匹配又无default字句,语句块不执行;二是无成功匹配但有default,执行default语句块;三是有成功匹配且无break,会一直执行直到遇到break。还给出了示例及相关博客链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

菜鸡自学

switch…case的三个规则:

(1)既无成功匹配,又无default字句,那么swtich语句块什么也不做;
(2)无成功匹配,但有default,那么swtich语句块做default语句块的事;
(3)有成功匹配,没有break,那么成功匹配后,一直执行,直到遇到break。

int x,y,z; x=0;y=0; z=1;
    switch(z)
    {
     case 0:y++;
     case 1:x++;   //无break;
     case 2:x++;y++;
     case 3:x++;y++
    }
    printf(" x=%d,y=%d,\n",x,y);

执行case 1 之后的语句,直到遇到break停止,无break所以结果为x=3. y=2

int x,y,z; x=0;y=0; z=1;
    switch(z)
    {
     case 0:y++;
     case 1:x++;   break;
     case 2:x++;y++;
     case 3:x++;y++
    }
    printf(" x=%d,y=%d,\n",x,y);

有break,只执行case 1,结果x=1,y=0

更多详情移步:我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《switch…case 没有break问题》, 一起来围观吧 https://blog.csdn.net/rammuschow/article/details/107051105?utm_source=app

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值