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