操作员关联性何时重要?

rwa*_*ace 5 c syntax programming-languages operators associativity

大多数编程语言都有二元运算符的优先级和关联性表.在某些情况下,相关性很重要,例如(a - b) - c!= a - (b - c).

但是,对于像&&它似乎无关紧要的关联运算符,但大多数语言将其列为左关联.

有没有(a && b) && ca && (b && c)?之间存在差异的情况?

Meh*_*dad 9

我不敢相信有这么多错误(删除)的答案......也许我应该回答这个问题.

首先,优先级!=关联性!=评估顺序.

现在我们已经解决了这个问题:在某些情况下,关联性很重要.
因为a + b + c,当ab,并且c是浮点数而不是整数时,它很重要,因为舍入误差将根据术语的分组方式而不同地累积.

对于特定的情况下&&||,没关系,只要他们不超载(这是可能只在C++,不C),但语言还是定义了一个只为一致性-这样的"树"代码的表示(基于语法)是唯一的.这也工程以C++的好处,因为重载现在的意义&&||一点也不含糊.