2010-06-24 62 views
0

我該如何判斷或理解任何語句或表達式是否有從左到右或從右到左的關聯性?關於'C'中的關聯性

+4

請不要張貼全部大寫。它傷害了我的眼睛 – JaredPar 2010-06-24 17:23:44

+3

@JaredPar - 通過interweb的魔法修復www.togglecase.com/convert_to_sentence_case.php – codingbadger 2010-06-24 17:24:29

+0

@Barry,不錯的鏈接。將不得不保留那一個。 – JaredPar 2010-06-24 17:25:56

回答

3

=,+ =等,其中有'='的運算符是正確關聯的。

所有其他人都是左關聯的。

+0

這似乎不同意。 http://www.difranco.net/cop2220/op-prec.htm – GManNickG 2010-06-24 17:28:43

+0

也許我錯過了一些東西,但我不知道如何在任何一元或三元運算符的關聯性是相關的....嗯,我接受您的索賠無論如何, – 2010-06-24 17:33:52

2

這是table of C++ operator precedence

在C和C++(前者不存在的模運算符)中,運算符優先級和關聯性是相同的。

+0

這是C++,而不是C. – GManNickG 2010-06-24 17:29:04

+1

不是優先級和關聯性是相同的(在C中不存在的模運算符)? – Cogwheel 2010-06-24 17:32:01

+0

http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence – Cogwheel 2010-06-24 17:35:30

0

閱讀標準

編輯:我沒有自己的標準,但我發現this link應該是基於標準。

而且,引述Kernighan的&裏奇:

算術運算符副教授左向右 。

表達式由& &或||連接 評估從左到右, 評估停止,只要真相 或虛假的結果是已知的。大多數C程序依靠這些 屬性。

運營商關聯性

()[] - >。從左到右

! 〜++ - + - *(類型)的sizeof向左

* /%右左至右

+ - 左至右

< < >>從左到右

< < =>> =左到右

==!=左至右

&從左到右

^從左到右

|從左到右

& &左至右

||從左到右

?:從右到左

= + = - = * =/=%= & =^= | = < < = >> =從右到左

,從左到右

一元& +, - 和*具有比二進制形式更高的優先級。

+3

將它們閱讀給我們。 – GManNickG 2010-06-24 17:53:13

+0

@GMan,我自己沒有這些標準,所以我添加了我可以使用的替代信息,它可能是有用的 – pcent 2010-06-24 18:04:59