C/C++ 操作符优先级

参考

优先级

  1. 单目运算符,只需一个操作数,先右后左,越靠近操作数越优先,如:++*p.f 即 ++(*(p.f))
  2. 算术运算符:+, -, *, /, %
  3. 移位运算符:>>, <<
  4. 关系运算符:>, <, == 等
  5. 位逻辑运算符: &, |, ^
  6. 逻辑运算符:&&, ||
  7. 条件运算符:先右
  8. 赋值运算符:先右,如:a=b=b+c 即 a=(b=b+c)
  9. 逗号: 自左向右运算,仅保留最后一个值

其实没有必要记下来,如果不确定就加括号。 :P

容易出错的情况

这是 C语言中文网 博文中附的,总结得非常好,就直接借鉴了: