C运算符的优先级与结合 优先级
| 运算符
| 含义
| 参与运算对象的数目
| 结合方向
| 1
| ( )
[ ]
->
.
| 圆括号运算符
下标运算符
指向结构体成员运算符
结构体成员运算符
|
双目运算符
双目运算符
双目运算符
| 自左至右
| 2
| !
~
++
--
-
(类型)
*
&
sizeof
| 逻辑非运算符
按位取反运算符
自增运算符
自减运算符
负号运算符
类型转换运算符
指针运算符
取地址运算符
求类型长度运算符
| 单目运算符
| 自右至左
| 3
| *
/
%
| 乘法运算符
除法运算符
求余运算符
| 双目运算符
| 自左至右
| 4
| +
-
| 加法运算符
减法运算符
| 双目运算符
| 自左至右
| 5
| <<
>>
| 左移运算符
右移运算符
| 双目运算符
| 自左至右
| 6
| <
<=
>
>=
| 关系运算符
| 双目运算符
| 自左至右
| 7
| ==
!=
| 判等运算符
判不等运算符
| 双目运算符
| 自左至右
| 8
| &
| 按位与运算符
| 双目运算符
| 自左至右
| 9
| ^
| 按位异或运算符
| 双目运算符
| 自左至右
| 10
| |
| 按位或运算符
| 双目运算符
| 自左至右
| 11
| &&
| 逻辑与运算符
| 双目运算符
| 自左至右
| 12
| ||
| 逻辑或运算符
| 双目运算符
| 自左至右
| 13
| ?:
| 条件运算符
| 三目运算符
| 自右至左
| 14
| =
+=
-=
*=
/=
%=
>>=
<<=
&=
^=
|=
| 赋值运算符
| 双目运算符
| 自右至左
| 15
| ,
| 逗号运算符
(顺序求值运算符)
|
| 自左至右
|
|