运算符和优先级
运算符和优先级
运算符优先级表
优先级 | 运算符 | 含义 |
---|---|---|
1 | () | 圆括号 |
1 | [] | 下标运算符 |
1 | . | 结构体成员运算符 |
2 | ! | 逻辑非运算符 |
2 | ~ | 按位取反运算符 |
2 | ++ | 自增运算符 |
2 | -- | 自减运算符 |
2 | - | 负号运算符 |
2 | (类型) | 类型转换运算符 |
2 | * | 地址运算符 |
2 | & | 取地址运算符 |
2 | sizeof | 长度运算符 |
3 | * | 乘法运算符 |
3 | / | 除法运算符 |
3 | % | 求余运算符 |
4 | + | 加法运算符 |
4 | - | 减法运算符 |
5 | << | 左移运算符 |
5 | >> | 右移运算符 |
6 | == != >= <= > < | 关系运算符 |
7 | & | 按位与运算符 |
7 | | | 按位或运算符 |
7 | ^ | 按位异或运算符 |
8 | && | 逻辑与运算符 |
8 | || | 逻辑或运算符 |
9 | = | 赋值运算符 |
说明
- 所有2级运算符都是单目运算符,其余都是双目运算符
- 除2、9级运算符外,所有运算的结合方向都是自左至右
- 支持
a=b=c
这样的赋值形式