C语言运算符的优先级和结合性

优先级 运算符 运算符功能 运算类型 结合方向
最高
15
()

—>
圆括号,函数参数表
数组元素下标
指向结构体成员
结构体成员
  自左至右
14 !
~
++,–
+

*
&
(类姓名)
sizeof
逻辑非
按位取反
自增1,自减1
求正
求负
间接运算符
求地址运算符
强制类型转换
求所占字节数
单目运算 自右至左
13 *,/,% 乘,除,整数求余 双目运算 自左至右
12 +,- 加,减 双目运算 自左至右
11 <<,>> 左移,右移 移位运算 自左至右
10 <,<=,>,>= 小于,小于等于,大于,大于等于 关系运算 自左至右
9 = =,!= 等于,不等于 关系运算 自左至右
8 & 按位与 位运算 自左至右
7 ^ 按位异或 位运算 自左至右
6 | 按位或 位运算 自左至右
5 && 逻辑与 逻辑运算 自左至右
4 || 逻辑或 逻辑运算 自左至右
3 ?: 条件运算 三目运算 自右至左
2 =,+=,-=,*=,%=
&=,^=,|=,<<=,>>=
赋值,复合赋值 双目运算 自右至左
1最低 , 顺序求值 顺序运算 自左至右

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注