【发布时间】:2012-09-03 23:22:59
【问题描述】:
为什么在大多数编程语言中,数学运算符的优先级与逻辑运算符的优先级不同。
含义:为什么x / y * z 的计算结果为( x / y ) * z,所以/ 的优先级与* 相同,但在逻辑运算符中x || y && z 的计算结果为x || ( y && z )
那么,这种区别是否有逻辑上的原因(某些硬件原因、优化技术)还是仅仅是编程语言创建者决定制作它们的方式?
【问题讨论】:
-
考虑
x + y * z。算术运算符也有优先级。 -
没有线索。无论如何,我总是把这些东西放在一边。我(以及任何不幸不得不维护/增强我的代码的人)不必/不必考虑太多。
-
@GregHewgill 我和你在一起 100% ,但我想不出为什么两者的优先级不同的原因。他们看起来更像 (/ 和 ) 比 ( 和 +) 对我来说
标签: programming-languages logical-operators