在C++中,
4&1 == 0
,而1&1 == 1
。然而,4&1 != 1&1
得到的结果是0
,而不是1
,但是(4&1) != (1&1)
得到的结果是1
,符合预期。为什么会这样?4&1 == 0
,而1&1 == 1
。然而,4&1 != 1&1
得到的结果是0
,而不是1
,但是(4&1) != (1&1)
得到的结果是1
,符合预期。为什么会这样?*
和+
?),也是程序员在该语言中文盲的明显迹象,至少对我来说是这样。 - user2074214&1 == 0
就是 4 & (1 == 0)
(4&0
-> 0
). - Jarod42x = (f() + (g(42)));
(是的,在g(42)
周围有额外的括号,因为我们不使用f() + g
调用42
:) (类似于方法指针调用))。 - Jarod42
!=
和==
的优先级高于&
。 - Arty