需要帮助了解如何使用 switch 语句

Need help understanding how to use a switch statement

本文关键字:何使用 switch 语句 了解 帮助      更新时间:2023-10-16
#include <iostream>
using namespace std;
int main()
{
  int i = 0;
  do {
    switch (i) {
      case 1:
        i++;
        break;
      case 4:
      case 8:
        i = i+ 2;
        break;
      default:
        cout << i << endl;
        break;
    }
    i++;
  } while (i < 12);
  cout << i << endl;
  return 0;
}

为什么代码的最后一个输入打印出12?不应该因为while语句而11吗?

在 while 循环之后,最后一个 cout << 我不可能输出小于 12 的任何内容。 您的 while 循环将继续重复切换,直到变量为 12 或更多。

如果您不想打印 12 并从 while 循环退出,请按如下方式更改代码。想想变化,试着理解为什么会发生这种情况。

#include <iostream>
using namespace std;
int main()
{
int i = 0;
do {
switch (i) {
  case 1:
    i++;
    break;
  case 4:
  case 8:
    i = i+ 2;
    break;
  default:
    cout << i << endl;
    break;
}
i++;
} while (i < 11);
cout << i << endl;
return 0;
}

根据您的代码,发生这种情况是因为当i == 11条件检查时,i<12将返回 true,由于 11<12。因此,程序不会退出 while 循环,循环将再次运行 i = 12 并打印 12。