为什么下面的运算符是这样工作的?
10 == 10 || 10 != 10 && 10 < 10 -> true
但为什么呢?优先级不是如下所示吗?它不是从左侧开始的吗?
true && false ?
(10 == 10 || 10 != 10) && (10 < 10)
我原以为那是假的,但那是真的!
*更新:所有语言的都是一样的
amp&具有比||更高的优先级,至少对于c++是这样。请注意,并非所有语言都具有相同的运算符优先级规则。
因此,您的表达式被计算为10 == 10 || (10 != 10 && 10 < 10)
,即true