最近,我遇到了这个程序。
#include <stdio.h> int main() { int a = 10, b = 20, c; c = a > 2 + b != 6; printf("%d", c); }
1输出背后的逻辑是什么?
1
取决于precedence of the operators。
c =语句正在评估两个逻辑比较,每个逻辑比较的答案为1(真)和0(假)。在当前示例中,IS大于2,因此将其评估为1(TRUE)。 b! (在这种情况下b阶乘为20!)不等于6,因此求值为0(假)。 1 + 0 = 1