【发布时间】:2018-11-03 14:07:51
【问题描述】:
bool loop;
do {
...
} while (loop);
在loop 为false 之后,我需要再次运行此循环。
我不能使用整数计数器来制作像 while (loop && counter > required) 这样的东西,因为迭代次数会随着传入数据的变化而变化。
【问题讨论】:
bool loop;
do {
...
} while (loop);
在loop 为false 之后,我需要再次运行此循环。
我不能使用整数计数器来制作像 while (loop && counter > required) 这样的东西,因为迭代次数会随着传入数据的变化而变化。
【问题讨论】:
bool loop;
do {
loop = process(...);
} while (loop);
loop = process(...);
【讨论】:
在您的循环条件变为真后开始计数。
bool loop;
int exit_counter = 0;
do {
// ...
if (loop || exit_counter > 0)
exit_counter++;
} while (exit_counter < 2);
不过,我更喜欢@martin.dowie 的方法。更清楚了。
【讨论】:
bool loop;
int n = 1;
do {
...
} while ((loop && n) || n--);
【讨论】:
这也行。
bool loop=true;
bool loop2=true;
do {
if(loop==false) loop2=false;
......loop=false;
} while (loop || loop2);
即使用“loop OR loop2”逻辑表达式。最初两者都是正确的。在“loop”变为假后,“loop2”仅在一次迭代中变为假。所以给你一个额外的迭代。
【讨论】: