运算符 | 结合性 |
() [] -> . |
自左至右 |
! ~ ++ -- - (type) * & sizeof |
自右至左 |
* / % |
自左至右 |
+ - |
自左至右 |
<< >> |
自左至右 |
< <= > >= |
自左至右 |
== != |
自左至右 |
& |
自左至右 |
^ |
自左至右 |
| |
自左至右 |
&& |
自左至右 |
|| |
自左至右 |
?: |
自右至左 |
= |
自右至左 |
, |
自左至右 |
1.优先级最高的并不是真正意义上的运算符,包括数组下标,函数调用操作符和结构成员选择符。
2.单目运算符是所有真正意义上的运算符里优先级最高的。*p++等价于*(p++)。
3.优先级比单目运算符要低的就是双目运算符和三目运算符。它们的顺序是:算术运算符、移位运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符。
4.任何一逻辑运算符的优先级都比任何一关系运算符要低。
5.移位运算符的优先级比算术运算符低,比关系运算符高。
原文:http://www.cnblogs.com/emailck/p/3889131.html