表达式c = a> 2 + b!= 6的输出是什么?

问题描述 投票:3回答:2

最近,我遇到了这个程序。

#include <stdio.h>

int main() {
    int a = 10, b = 20, c;
    c = a > 2 + b != 6;
    printf("%d", c);
}

1输出背后的逻辑是什么?

c operator-precedence evaluation
2个回答
4
投票

-3
投票

c =语句正在评估两个逻辑比较,每个逻辑比较的答案为1(真)和0(假)。在当前示例中,IS大于2,因此将其评估为1(TRUE)。 b! (在这种情况下b阶乘为20!)不等于6,因此求值为0(假)。 1 + 0 = 1

© www.soinside.com 2019 - 2024. All rights reserved.