无中断的 switch-case 语句

新手上路,请多包涵

根据我正在阅读的这本书:

Q 如果我在 switch-case 语句中省略了 break 会发生什么?

A break 语句使程序执行能够退出 switch 构造。没有它,执行将继续评估以下 case 语句。

假设我的代码看起来像

switch (option}{
    case 1:
    do A;
    case 2:
    do B;
    default:
    do C;
    break;
}

这是否意味着如果我选择案例 1,A 和 C 就完成了。如果我选择案例 2,B 和 C 就完成了。如果我都不选择,那么只有 C 完成。

如果是这样,如果我们在 do C 之后省略了 break 会发生什么。

我认为这些都是不好的编程习惯,但我很好奇会发生什么来更深入地了解它是如何工作的。谢谢

原文由 Lost1 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 811
2 个回答

break 的作用类似于 goto 命令。或者,作为一个更好的例子,就像在 void 函数中使用 return 时一样。既然到了尽头,有没有没有关系。虽然,我喜欢包括它。

原文由 Craig Mosey 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果没有 break 语句,每次在 switch 中发生匹配时,该 case 和 SUBSEQUENT CASES 的语句都会执行,直到遇到 break 语句或 switch 结束。

原文由 Jefke MénenHoekaf 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题