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