再次运行布尔控制循环

Run bool controlled loop once more

本文关键字:控制 循环 布尔 运行      更新时间:2023-10-16
bool loop;
do {
...
} while (loop);

我需要这个循环在loopfalse后再次运行。 我不能使用整数计数器来制作类似while (loop && counter > required)的东西,因为迭代次数会随着传入数据的变化而变化。

bool loop;
do {
loop = process(...);
} while (loop);
loop = process(...);
bool loop;
int n = 1;
do {
...
} while ((loop && n) || n--);

在循环条件变为 true 后开始计数。

bool loop;
int exit_counter = 0;
do {
// ...
if (loop || exit_counter > 0)
exit_counter++;
} while (exit_counter < 2);

但是,我更喜欢@martin.dowie的方法。它更清楚了。

这也行得通。

bool loop=true;
bool loop2=true;
do {
if(loop==false) loop2=false;
......loop=false;
} while (loop || loop2);

即,使用"循环或循环2"逻辑表达式。最初两者都是正确的。"loop2"在"loop"变为false之后仅一次迭代变为假。因此,为您进行一次额外的迭代。