你如何让一个repeat-until循环中的C ++?
-
21-08-2019 - |
题
你怎么做一个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)
不隶属于 StackOverflow