需要帮助了解如何使用 switch 语句
Need help understanding how to use a switch statement
#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。
相关文章:
- 使用 switch,但我想用字符串而不是 int 进行选择
- 在结构中使用 switch 引用结构中的数据C++
- 变量不能在 lambda 中隐式捕获,并且没有使用 switch 语句指定捕获默认值
- 使用 switch 语句将不同的函数作为类属性分配 C++
- 对程序使用 switch 语句,导致选项的无限循环
- 在C 中使用Switch和Enum
- 使用Switch语句中的字符串 - 我们在C 17的位置站立
- 在 C++ 中使用 switch 语句
- 如何一次对 3 个字符使用 switch 语句
- cin.getline 不使用 switch 语句
- 为什么使用Switch语句的功能不需要返回
- 在 "assert" 中使用 switch 语句 (C++)
- C++11 在运行时不使用 switch 为元组编制索引的方法
- 如何在c++中使用Switch用例
- 如何使用switch语句(C++)测试一个数字是素数还是可被7整除
- 可以使用switch语句处理的最大事例数
- 需要帮助了解如何使用 switch 语句
- 使用 switch 语句访问函数 OOP C++
- 使用 switch 语句进行加密
- 如果有四个输入,如何使用switch语句