你如何在C++中创建一个Repeat-Until循环?

23 c++ loops for-loop while-loop

你如何在C++中创建一个Repeat-Until循环?而不是标准的While或For循环.我需要在每次迭代结束时检查条件,而不是在开始时检查.

Adr*_*ien 40

do
{
  //  whatever
} while ( !condition );
Run Code Online (Sandbox Code Playgroud)

  • 你有更少的代表,这是一个非常简单的问题,所以我很乐意给你.:) (11认同)
  • 呃......这太可悲了.埃米尔命中提交比我更快......"接受"应该归他...... (3认同)
  • 非常感谢你的帮助,伙计们!所以最好! (2认同)
  • 答案中的代码看起来不像C++代码.只有`null`是`Planet`类型的实例. (2认同)

Zif*_*fre 9

如果要在循环开始时检查条件,只需在标准while循环上取消条件:

while(!cond) { ... }
Run Code Online (Sandbox Code Playgroud)

如果你最后需要它,使用do... while循环并否定条件:

do { ... } while(!cond);
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用宏来模拟repeat-until语法.

#define repeat do
#define until(exp) while(!(exp))
Run Code Online (Sandbox Code Playgroud)

  • 请不要使用预处理器来定义你自己的语言 - 除非你_真的_想要每个不得不维护你的代码的同事的仇恨。 (3认同)