如何在c++中的do-while循环中具有非此即彼条件
how to have an either/or condition in a do-while loop in c++
我正在写一个算法,其中有一个do while循环。我想在这个循环中,直到GAP足够小或迭代次数超过1000。但它通过了100次迭代,并且没有停止。这是代码:
int iteration=1;
double UB=0;
double LB=0;
double GAP=1;
do
{...
GAP=abs((UB-LB)/LB);
iteration++;
}while(GAP>=0.05 || iteration<=1000);
您可能想要&&
而不是||
。您希望迭代,直到这些表达式中的任一个为false,因此您希望在它们都为true时进行迭代。
您有点错过了逻辑;)
如果您希望循环结束If(conditionA或conditionB),那么这意味着您希望继续循环If(condition A AND condition B)。
换句话说,你应该有
while(GAP>=0.05 && iteration<=1000)
您需要将'||'更改为'&;'
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 在没有太多条件句的情况下,我如何避免被零除
- 基于多个条件处理地图中的所有元素
- 条件constexpr函数
- 无论条件是否为true,if总是在c++中执行
- 我可以使用条件运算符初始化C风格的字符串文字吗
- 基于模板值的条件变量
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 将按位if条件转换为普通if条件
- 条件断点在不应该触发时触发
- 为什么简单的算术减法在"if"条件下不起作用?
- 如何在for循环中包含两个索引值的测试条件
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 我提出什么条件才能再加5%的折扣
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- 如何编写一个使用n倍三元条件语句的C++布尔函数
- 没有超时的C++条件变量
- 正在LLVM中检测整数比较条件
- 如何在c++中的do-while循环中具有非此即彼条件