gpt4 book ai didi

c - C 中的 While 循环,具有未执行条件

转载 作者:行者123 更新时间:2023-12-04 01:25:50 24 4
gpt4 key购买 nike

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

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

有没有更好的方法来构造它?

理想情况下:

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

(while/else 循环,但不符合 Python 的语义。else 应该只在 while 条件立即为假时执行.)

最佳答案

好像是

_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 {

}

关于c - C 中的 While 循环,具有未执行条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61951883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com