【问题标题】:Using multiple logical operator in C not comparing correctly [duplicate]在C中使用多个逻辑运算符无法正确比较[重复]
【发布时间】:2021-07-14 02:06:49
【问题描述】:

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

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

【问题讨论】:

标签: c


【解决方案1】:

在 C 中,a>b>c 表示 (a>b)>c。它确实不是意味着(a>b)&&(b>c)。

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

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多