c语言运算符优先级
1为最高级,15为最低级。
优先级 | 结合性 | 运算符 | 备注 |
---|---|---|---|
1 | 左结合 | () [] -> . | 圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符 |
2 | 右结合 | ! ~ ++ -- + - (类型) * & sizeof | 逻辑非运算符 按位取反运算符 前缀增量运算符 前缀减量运算符 正号运算符 负号运算符 类型转换运算符 指针运算符 地址运算符 长度运算符 |
3 | 左结合 | * / % | 乘法运算符 除法运算符 取余运算符 |
4 | 左结合 | + - | 加法运算符 减法运算符 |
5 | 左结合 | << >> | 左移运算符 右移运算符 |
6 | 左结合 | < <= > >= | 关系运算符 |
7 | 左结合 | == != | 等于运算符 不等于运算符 |
8 | 左结合 | & | 按位与运算符 |
9 | 左结合 | ^ | 按位异或运算符 |
10 | 结合性 | | | 按位或运算符 |
11 | 左结合 | && | 逻辑与运算符 |
12 | 左结合 | || | 逻辑或运算符 |
13 | 右结合 | ? : | 条件运算符 |
14 | 右结合 | = += -= *= /= %= &= ^= |= <<= >>= | 赋值运算符 |
15 | 左结合 | , | 逗号运算符 |