我正在尝试从switch语句中的while循环中断,但是它不起作用。我得到一个无限循环。为什么?
int main()
{
int n;
while (std::cin >> n)
{
switch (n)
{
case 4:
break;
break;
default:
std::cout << "Incorrect";
break;
}
}
}
您会遇到一个无限循环,因为这不是break
工作原理。一旦第一个break
执行,您将退出该switch
语句,而第二个将break
不再执行。您将必须找到另一种退出外部控制结构的方法。例如,在switch
语句中设置一个标志,然后在末尾或循环条件中检查该标志。
while (std::cin >> n)
{
bool should_continue = true;
switch (n)
{
case 4:
should_continue = false;
break;
default:
std::cout << "Incorrect";
break;
}
if (!should_continue)
break;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句