2017-05-09 129 views
2

我最近一直在阅读肯尼斯A.臭佬的本C语言书中指针。这本书有一个非常漂亮的C语言表以及它们的优先级。但是,当我查看其他资源以确保本书中提供的信息是正确和最新的时,我已经看到有各种各样的信息。我会提供精确的例子来展示我的意思。信息冲突运算符优先级

这本书提供了一个表,其中的函数调用操作()具有最高的优先级。后缀增量和减量运算符在后面。我检查了其他资源以验证信息。我已经检查了这个resource和这个resource和这个resource。这些资源中提供的优先级信息与C指针上的解释相匹配。问题从cppreference中的precedence table开始,因为它具有与其他资源不同的优先规则。

所以我失去了什么?

+1

小心提及什么是不匹配? –

+0

鉴于'()'是一个后缀运算符,它在后缀'++'和'--'的优先级是完全不相关的。操作员的顺序决定了哪个先应用。 – EOF

+0

cppreference中的函数调用操作符之前的后缀增量和减量运算符** ** – ugar

回答

6

作为already mentioned in the linked resource

算是在同一小区(有可能是在细胞中列出的运营商的几行)具有相同优先级进行评估,在所述给定方向。例如,表达式a=b=c由于从右到左的关联性而被解析为a=(b=c),而不是(a=b)=c

因此,运营商的书面命令(有相同的优先级)在任何物品没有多大关系,关联性(存在于实际的语句进行评价)是很重要的。