为何表达式10 == 10 || 10 != 10 && 10 < 10的结果为true?
逻辑运算符优先级导致的运算结果解析
你的问题核心是误解了逻辑运算符的优先级——并非从左到右先计算||,而是&&的优先级高于||,这是几乎所有主流编程语言都遵循的规则。
我们一步步拆解原式:
10 == 10 || 10 != 10 && 10 < 10
首先计算优先级更高的
&&部分:10 != 10 && 10 < 1010 != 10结果为false10 < 10结果为false- 逻辑与运算:
false && false→false
原式简化为:
10 == 10 || false10 == 10结果为true- 逻辑或运算:
true || false→true
这就是最终结果为true的原因。你之前错误地将||和&&按同一优先级从左到右计算,才会得出错误的预期结果。
内容的提问来源于stack exchange,提问作者hamidreza ghahremani
相关产品推荐
相关产品推荐

