【讨论题】switch 中忘记写 break 是 bug 还是特性?
我要参与
【讨论题】switch 中忘记写 break 是 bug 还是特性?
讨论题 32
等3人参与

C 语言的 switch 语句允许“穿透”(即不写 break 会继续执行下一个 case)。例如:

int day = 2;
switch (day) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        printf("工作日\n");
        break;
    case 6:
    case 7:
        printf("周末\n");
        break;
}

上述代码利用穿透特性简洁地处理了多个相同逻辑的分支。但如果不小心遗漏 break,也可能导致意外执行。 请围绕以下问题展开讨论:
在你的编程经历中,是否曾因“意外穿透”引入 bug?又是如何发现和修复的?

去发布

登录后即可发布作业,立即

我的作业

全部作业

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师