在c++中以布尔值作为条件执行while

Do while with a boolean as the condition in c++?

本文关键字:条件 执行 while 布尔值 c++      更新时间:2023-10-16

所以我想知道布尔值如何在以下代码中的条件语句中起作用

bool flag = true;
do { 
    d += data[i]; 
    if (d > 15 || i == 3) { 
          flag = false; 
    } 
    i = i + 1; 
} while (flag); 

何时退出dowhile循环?

如果d > 15i == 3的值为true, i将被加1 并停止循环

换句话说,flag只在每次迭代结束时检查,即使它可能在一次迭代中间被设置为false

(d > 15 || i == 3)(d > 15 or i == 3)时退出。

i在每次迭代中递增,因此如果i为<在程序开始时,我们确信在某一点它将到达i == 3并打破循环。>

对于d,我们不知道它的初始值,也不知道它在循环中的行为,因为我们对data一无所知。

取决于您的di的值…
d大于15或i等于3时,flag变为false,循环结束。

但是,这可能不会在同一迭代中发生。例如,如果i在一个循环中增加到3,它将在下一个循环中首先求值,flag可能被设置为false

当数组Data[]中前3个值的SUM大于"15"时中断while;如果前3个值的SUM不大于15则中断while。