参考
优先级
- 单目运算符,只需一个操作数,先右后左,越靠近操作数越优先,如:++*p.f 即 ++(*(p.f))
- 算术运算符:+, -, *, /, %
- 移位运算符:>>, <<
- 关系运算符:>, <, == 等
- 位逻辑运算符: &, |, ^
- 逻辑运算符:&&, ||
- 条件运算符:先右
- 赋值运算符:先右,如:a=b=b+c 即 a=(b=b+c)
- 逗号: 自左向右运算,仅保留最后一个值
其实没有必要记下来,如果不确定就加括号。 :P
容易出错的情况
这是 C语言中文网 博文中附的,总结得非常好,就直接借鉴了: