运算符的优先级
运 算 符 | 说 明 | 匹 配 规 则 |
() | 带括号的表达式 | 从左至右 |
[] | 数组下标 | |
. | 按对象选择成员 | |
–> | 按指针选择成员 | |
+ – | 一元+和– | 从右至左 |
++ –– | 前缀递增和前缀递减 | |
! ~ | 逻辑非和按位补 | |
* | 取消引用 | |
& | 寻址 | |
Sizeof | 表达式或类型的字节数 | |
(type) | 强制转换为type,例如(int)或(double),类型转换如(int) 或(double) | |
* / % | 乘、除、取模(取余数) | 从左至右 |
+ – | 加、减 | 从左至右 |
<< >> | 按位左移、按位右移 | 从左至右 |
< <= | 小于、小于等于 | 从左至右 |
|
|
|
> >= | 大于、大于等于 | 从左至右 |
== != | 等于、不等于 | 从左至右 |
& | 按位与 | 从左至右 |
^ | 按位异或 | 从左至右 |
| | 按位或 | 从左至右 |
&& | 逻辑与 | 从左至右 |
|| | 逻辑或 | 从左至右 |
?: | 条件运算符 | 从右至左 |
= | 赋值 | 从右至左 |
+= –= | 加法赋值、减法赋值 | |
/= *= | 除法赋值、乘法赋值 | |
%= | 取模赋值 | |
<<= >>= | 按位左移赋值、按位右移赋值 | |
&= |= | 按位与赋值、按位或赋值 | |
^= | 按位异或赋值 | |
, | 逗号运算符 | 从左至右 |