在 C 中使用多个逻辑运算符无法正确比较

阿努

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

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章