带有 switch 语句的 C++ 逻辑

标签 c++ select case break

我开始掌握 C++,但有一件事让我感到困惑,它使用 break 和 select case。我知道如何执行此操作,但我想了解的是为什么会发生此特定操作。

说如果我有

switch (Tasty)
{
  case true:
    cout << "yum" << endl;
    break;
  case false:
    cout << "erch" << endl;
  break;
}

现在它正确地打印出了我想要的东西,但是如果我这样做了

switch (Tasty)
{
  case true:
    cout << "yum" << endl;
  case false:
    cout << "erch" << endl;
}

为什么它同时打印“yum”和“erch”?

最佳答案

最好将 switch 语句中的 case 视为标签。声明后

cout << "yum" << endl;

跑完了,下一个就开始跑了,

cout << "erch" << endl;

除非您显式break 退出switch 语句。

关于带有 switch 语句的 C++ 逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22021436/

相关文章:

c++ - 使用 '&' 创建指向成员错误的指针

c++ - 在 move 构造函数中用作 arg 后,哪些 std 类型保证为空/空

sql - 连接中的嵌套选择 : The multi-part identifier could not be bound

jQuery 验证在错误时不会突出显示我的选择字段

c++ - 从 boost asio streambuf 读取将字节保存在缓冲区中

c++ - 机器异常后重新执行程序

jquery - 帮助下拉菜单上的 jquery onchange 事件

sql - 如果指定了 SELECT DISTINCT,则 ORDER BY 项目必须出现在选择列表中......我花了几个小时但没有找到

正则表达式更改为句子大小写

sql - 在 SNOWFLAKE SQL 中选择和聚合不同 id 的变量