注:标号1—15优先级由高到低。
优先级 | 运算符 | 含义 | 操作数个数 | 结合方向 |
1 |
()[] -> . |
圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符 |
自左向右 |
|
2 |
! ~ ++ -- - (类型) * & sizeof |
逻辑非 按位取反 自增 自减 负号 类型转换 指针运算符 取地址符 长度运算符 |
1(单目运算符) |
自右至左 |
3 | * / % | 乘法,除法,求余 | 2(双目运算符) | 自左至右 |
4 | + - | 加法 ,减法 | 2(双目运算符) | 自左至右 |
5 | << >> | 左移,右移 | 2(双目运算符) | 自左至右 |
6 | < <= > >= | 关系运算符 | 2(双目运算符) | 自左至右 |
7 | == != | 等于 不等于运算符 | 2(双目运算符) | 自左至右 |
8 | & | 按位与 | 2(双目运算符) | 自左至右 |
9 | ^ | 按位异或 | 2(双目运算符) | 自左至右 |
10 | | | 按位或 | 2(双目运算符) | 自左至右 |
11 | && | 逻辑与运算 | 2(双目运算符) | 自左至右 |
12 | || | 逻辑或运算 | 2(双目运算符) | 自左至右 |
13 | ?: | 条件运算符 | 3(三目运算符) | 自右至左 |
14 |
= += -= *= /= %= >>= <<= &= ^= |= |
赋值运算符 |
2 |
自右至左 |
15 | , | 逗号运算符 | 自左至右 |
记忆方法:
初等运算符:()[]-> ->单目运算符->算术运算符->移位运算符->位操作运算符->逻辑运算符(不包括!)->条件运算符->赋值运算符->逗号运算符
时间: 2024-10-13 21:33:54