优先级 | 运算符 | 运算符功能 | 运算类型 | 结合方向 |
最高 15 |
() —> |
圆括号,函数参数表 数组元素下标 指向结构体成员 结构体成员 |
自左至右 | |
14 | ! ~ ++,– + – * & (类姓名) sizeof |
逻辑非 按位取反 自增1,自减1 求正 求负 间接运算符 求地址运算符 强制类型转换 求所占字节数 |
单目运算 | 自右至左 |
13 | *,/,% | 乘,除,整数求余 | 双目运算 | 自左至右 |
12 | +,- | 加,减 | 双目运算 | 自左至右 |
11 | <<,>> | 左移,右移 | 移位运算 | 自左至右 |
10 | <,<=,>,>= | 小于,小于等于,大于,大于等于 | 关系运算 | 自左至右 |
9 | = =,!= | 等于,不等于 | 关系运算 | 自左至右 |
8 | & | 按位与 | 位运算 | 自左至右 |
7 | ^ | 按位异或 | 位运算 | 自左至右 |
6 | | | 按位或 | 位运算 | 自左至右 |
5 | && | 逻辑与 | 逻辑运算 | 自左至右 |
4 | || | 逻辑或 | 逻辑运算 | 自左至右 |
3 | ?: | 条件运算 | 三目运算 | 自右至左 |
2 | =,+=,-=,*=,%= &=,^=,|=,<<=,>>= |
赋值,复合赋值 | 双目运算 | 自右至左 |
1最低 | , | 顺序求值 | 顺序运算 | 自左至右 |