操作符优先级
操作符 |
描述 |
用法示例 |
结果类型 |
结合性 |
是否控制求值顺序 |
() |
聚组 |
(表达式) |
与表达式相同 |
N/A |
否 |
() |
函数调用 |
rexp(rexp,…,rexp) |
rexp |
L-R |
否 |
[] |
下标引用 |
rexp[rexp] |
lexp |
L-R |
否 |
. |
访问结构成员 |
lexp.member_name |
lexp |
L-R |
否 |
-> |
访问结构指针成员 |
rexp->member_name |
lexp |
L-R |
否 |
++ |
后缀自增 |
lexp++ |
rexp |
L-R |
否 |
-- |
后缀自减 |
lexp-- |
rexp |
L-R |
否 |
! |
逻辑反 |
!rexp |
rexp |
R-L |
否 |
~ |
按位取反 |
~rexp |
rexp |
R-L |
否 |
+ |
单目,表示正值 |
+rexp |
rexp |
R-L |
否 |
- |
单目,表示负值 |
-rexp |
rexp |
R-L |
否 |
++ |
前缀自增 |
++lexp |
rexp |
R-L |
否 |
-- |
前缀自减 |
--lexp |
rexp |
R-L |
否 |
* |
间接访问 |
*rexp |
lexp |
R-L |
否 |
& |
取地址 |
&lexp |
rexp |
R-L |
否 |
sizeof |
取其长度,以字节表示 |
sizeof rexp,sizeof(rexp) |
rexp |
R-L |
否 |
(类型) |
类型转换 |
(类型)rexp |
rexp |
R-L |
否 |
* |
乘法 |
rexp*rexp |
rexp |
L-R |
否 |
/ |
除法 |
rexp/rexp |
rexp |
L-R |
否 |
% |
整数取余 |
rexp%rexp |
rexp |
L-R |
否 |
+ |
加法 |
rexp+rexp |
rexp |
L-R |
否 |
- |
减法 |
rexp-rexp |
rexp |
L-R |
否 |
<< |
左移位 |
rexp<<rexp |
rexp |
L-R |
否 |
>> |
右移位 |
rexp>>rexp |
rexp |
L-R |
否 |
> |
大于 |
rexp>rexp |
rexp |
L-R |
否 |
>= |
大于等于 |
rexp>=rexp |
rexp |
L-R |
否 |
< |
小于 |
rexp<rexp |
rexp |
L-R |
否 |
<= |
小于等于 |
rexp<=rexp |
rexp |
L-R |
否 |
== |
等于 |
rexp==rexp |
rexp |
L-R |
否 |
!= |
不等于 |
rexp!=rexp |
rexp |
L-R |
否 |
& |
位与 |
rexp&rexp |
rexp |
L-R |
否 |
^ |
位异或 |
rexp^rexp |
rexp |
L-R |
否 |
| |
位或 |
rexp|rexp |
rexp |
L-R |
否 |
&& |
逻辑与 |
rexp&&rexp |
rexp |
L-R |
是 |
|| |
逻辑或 |
rexp||rexp |
rexp |
L-R |
是 |
?: |
条件操作符 |
rexp?rexp:rexp |
rexp |
N/A |
是 |
= |
赋值 |
lexp=rexp |
rexp |
R-L |
否 |
+= |
以…加 |
lexp+=rexp |
rexp |
R-L |
否 |
-= |
以…减 |
lexp-=rexp |
rexp |
R-L |
否 |
*= |
以…乘 |
lexp*=rexp |
rexp |
R-L |
否 |
/= |
以…除 |
lexp/=rexp |
rexp |
R-L |
否 |
%= |
以…取模 |
lexp%=rexp |
rexp |
R-L |
否 |
<<= |
以…左移 |
lexp<<=rexp |
rexp |
R-L |
否 |
>>= |
以…右移 |
lexp>>=rexp |
rexp |
R-L |
否 |
&= |
以…与 |
lexp&=rexp |
rexp |
R-L |
否 |
^= |
以…异或 |
lexp^=rexp |
rexp |
R-L |
否 |
|= |
以…或 |
lexp|=rexp |
rexp |
R-L |
否 |
, |
逗号 |
rexp,rexp |
rexp |
L-R |
是 |
lexp:左值表达式 rexp:右值表达式