在C ++中立即退出'while'循环

时间:2009-05-16 18:30:31

标签: c++ while-loop break

如何在不进入块结束的情况下立即退出while循环?

例如,

while (choice != 99)
{
    cin >> choice;
    if (choice == 99)
        //Exit here and don't get additional input
    cin>>gNum;
}

有什么想法吗?

10 个答案:

答案 0 :(得分:51)

使用break?

while(choice!=99)
{
  cin>>choice;
  if (choice==99)
    break;
  cin>>gNum;
}

答案 1 :(得分:8)

cin >> choice;
while(choice!=99) {
    cin>>gNum;
    cin >> choice
}

在这种情况下你不需要休息。

答案 2 :(得分:6)

使用 break ,因此:

while(choice!=99)
{
  cin>>choice;
  if (choice==99)
    break; //exit here and don't get additional input
  cin>>gNum;
}

这也适用于 for 循环,并且是结束switch子句的关键字。更多信息here

答案 3 :(得分:3)

break;

while(choice!=99)
{
   cin>>choice;
   if (choice==99)
       break;
   cin>>gNum;
}

答案 4 :(得分:3)

是的,休息会奏效。但是,您可能会发现许多程序员不希望在可能的情况下使用它,而是使用条件if语句在循环中执行任何其他操作(因此,不执行它并干净地退出循环)

这样的事情可以实现你所期待的,而不必休息。

while(choice!=99) {
    cin >> choice;
    if (choice != 99) {
        cin>>gNum;
    }
}

答案 5 :(得分:2)

嗯,break

答案 6 :(得分:1)

while(choice!=99)
{
  cin>>choice;
  if (choice==99)
    exit(0);
  cin>>gNum;
}

相信我,那将退出循环。如果这不起作用,什么都不会。记住,这可能不是你想要的......

答案 7 :(得分:1)

是的,我很确定你只是把

    break;

您想要退出的地方

喜欢

    if (variable == 1)
    {
    //do something
    }
    else
    {
    //exit
    break;
    }

答案 8 :(得分:0)

尝试

break;

答案 9 :(得分:-1)

你永远不应该使用break语句来退出循环。 当然你可以做到,但这并不意味着你应该这样做。 这不是一个好的编程实践。 更优雅的退出方式如下:

while(choice!=99)
{
    cin>>choice;
    if (choice==99)
        //exit here and don't get additional input
    else
       cin>>gNum;
}

如果选择是99,则没有其他事可做,循环终止。