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