2017-05-09 140 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

因此,運營商的書面命令(有相同的優先級)在任何物品沒有多大關係,關聯性(存在於實際的語句進行評價)是很重要的。