我如何退出 while 立即循环而不到达块的末尾?

例如,

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

有任何想法吗?

有帮助吗?

解决方案

使用破?

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

其他提示

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

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

使用的,因为这样的:

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

这适用于也循环,并且是用于结束开关子句关键字。更多信息这里

break;

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

是,突破将正常工作。但是,你可能会发现,许多程序员不喜欢使用它时,可能,相反,使用条件if语句对循环中执行别的(因此,不执行它,并干净利落地退出循环)

像这样将实现你要找的内容,而不必使用中断。

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

唔, break ?

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

相信我,这将退出循环。如果没有什么工作将。记住,这可能不是你想要的...

对阿Im相当肯定你只要把

    break;

您要它退出权

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

尝试

break;

您不应该使用break语句退出循环。 当然,你可以做到这一点,但是,这并不意味着你应该。 它只是没有良好的编程习惯。 退出更优雅的方式如下:

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

如果选择的是99没有什么事情可做,循环终止。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top