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?又是如何发现和修复的?