你怎么做一个repeat-until循环中的C ++?相对于虽然或对于循环的标准。我需要在每次迭代结束时检查该条件,而不是在开始。

有帮助吗?

解决方案

do
{
  //  whatever
} while ( !condition );

其他提示

当你想在循环的开始检查车况,简单地否定一个标准while循环条件:

while(!cond) { ... }

如果你需要它的尽头,用do ... while环和否定条件:

do { ... } while(!cond);

您可以使用宏来模拟重复,直到语法。

#define repeat do
#define until(exp) while(!(exp))

举一个例子,如果你想有一个循环时,它计算所有的人在一组已停止。我们会考虑的值X等于该组中的人数,计数器将被用来计算所有的人在一组。写

  

而(!条件)

的代码将是:

  

INT X =人;

     

INT计数器= 0;

     

而(X!=计数器)

     

{

     

计数器++;

     

}

     

返回0;

只需使用:

do
{
  //enter code here
} while ( !condition );

那么这样做是什么,它移动的“检查状况”部分结束,因为while是在年底。因此,它只能运行代码后检查的条件,就像你想要的。

重复被认为是一个简单的循环n次循环...循环的conditionless版本。

#define repeat(n) for (int i = 0; i < n; i++) 

repeat(10) {
    //do stuff
}

也可以还添加一个额外的barce到变量i隔离甚至更

#define repeat(n) { for (int i = 0; i < n; i++) 
#define endrepeat }

repeat(10) {
    //do stuff
} endrepeat;

[编辑] 有人发布了关于通过以外的东西比的值,例如表达关注。只是改变循环向后运行,导致表达仅被评估一次

#define repeat(n) { for (int i = (n); i > 0; --i)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top