C中的While循环,未执行条件

褪色的蜜蜂

我在C代码中不断遇到以下模式:

_Bool executed = 0;
while (condition) {
   executed = 1;
   ...
}
if (!executed) {
   ...
}

有没有更好的方法来构造这个?

理想情况下:

while (condition) {
   executed = 1;
   ...
} else {
   ...
}

(一个while/else循环,但不具有Python的语义。else仅当while条件立即为false时,才应执行the。)

托尼·坦诺斯(Tony Tannous)

它似乎

_Bool executed = 0;
while (condition) {
   executed = 1;
   ...
}
if (!executed) {
   ...
}

如果condition有副作用,可以用

if (condition) {
    do 
    {

    } while(condition);
} else {

}

但是,如果您坚持只使用while,而不是,do... while那么您的罚款将condition重新评估

if (condition) {
    while(condition)
    {

    }
} else {

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章