"=="运算符如何在表达式中工作?

Raj*_*yan 0 c operators

#include <stdio.h>
int main()
{
   int a = 10, b = 5, c = 5;
   int d;
   d = b + c == a;
   printf("%d", d);
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,任何人都可以向我解释一下如何d = b + c == a工作?

Jim*_*ter 6

由于运算符优先级,它被解析为

d = ((b + c) == a);
Run Code Online (Sandbox Code Playgroud)

b + c是10,它等于a,所以d接收值1,这就是C表示真实比较的方式.