我正在用 C 语言编写一个小程序,但我不想要我的 while
循环退出,直到满足两个条件。
这是我的问题的一个例子:
int a, b, x;
a = 3;
b = 5;
x = 0;
while(x <= a && x <= b)
{
//do stuff
x++;
}
当x == a
时循环中断但是x != b
。这将评估为 false && true
应该返回 false
但无论如何它仍然会破裂。
为什么我的循环提前结束?
最佳答案
您正确回答了一半问题,让我重复并纠正您。
当x > a
时循环中断或x < b
(x = 4
)。这将评估为 true && false
应该返回 false
因此循环被打破。
记住,当使用 &&
时两个条件都必须是 true
整体状况为true
.
因此,如果您希望循环仅在两个条件均为 false 时退出,请使用 ||
int a, b, x;
a = 3;
b = 5;
x = 0;
while(x <= a || x <= b)
{
//do stuff
x++;
}
现在,直到条件都是 false
,你的循环应该运行。
关于c - While 循环使用多个条件过早中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37868700/