一个奇怪的C语言优先级问题

代码如下:

int a = (0 == a & (1 << 1));
int b = (0 == (a & (1 << 1)));

a和b结果是什么呢,开始以为都是1,结果不是。

a结果为0,b结果为1。为什么?

发表评论

滚动至顶部