首页 > 解决方案 > 在 C 中使用多个逻辑运算符无法正确比较

问题描述

以下代码应该打印为 true。但它打印错误。有谁知道为什么会这样?

int main(void)
{
    int a=15,b=10, c=1;
    if(a>b>c)
    {
        printf("true");
    } else
    {
        printf("false");
    }
}

标签: c

解决方案


在 C 中,a>b>c表示(a>b)>c。这并不意味着(a>b)&&(b>c)

的值为a>b0 或 1(分别为 false 或 true)。因为c是 1,这些可能的值都不能大于c,所以比较总是假的。


推荐阅读