c - While 循环使用多个条件过早中断

标签 c while-loop

我正在用 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/

相关文章:

c - 使字符串文字自动包含换行符?

c - 文件与句柄 - 这两件事有什么区别

php mysql while - 当条件相同时循环

perl - 返回长字符串 1 的短阶乘计算器

java - 尽管满足条件,While 循环仍继续

c - AddressSanitizer 中的 "shadow bytes"是什么,我应该如何解释它们?

c - 如何使函数返回指向数组结构的指针

c - 如何以正确的方式对链表进行排序 C

c++ - 为什么不是 while ((i <= 9) && square == pow(i, 2)) { cout << i << square;我++;按照我的意愿打印出来?

python - 即使条件评估为 true,代码也会跳过循环