有没有办法在原始条件变为假之前打破一段时间的循环?

2022-09-02 23:40:48

有没有办法在原始条件变为假之前打破一段时间的循环?

例如,如果我有:

while (a==true) 
{ 
    doSomething() ; 
    if (d==false) get out of loop ;
    doSomething_that_i_don't_want_done_if_d_is_false_but_do_if_a_and_d_are_true() ;
} 

有什么办法可以做到这一点吗?


答案 1

使用中断语句

if (!d) break;

请注意,您不需要在布尔表达式中与 truefalse 进行比较。


答案 2

break是您要查找的命令。

不要与布尔常量进行比较 - 它实际上只是模糊了你的意思。下面是一个替代版本:

while (a) 
{ 
    doSomething(); 
    if (!d)
        break;
    doSomething_that_i_don't_want_done_if_d_is_false_but_do_if_a_and_d_are_true();
} 

推荐