C/C++优先级 从高到低 1~14梯队
1、 () [] . ->
2、 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 、 * / %
4 、 + -
5 、 >> <<
6 、 > >= < <=
7 、 == !=
8 、 &
9 、 ^
10、 |
11、 &&
12、 ||
13、 ?:
14 、 = += -= *= /= %= |= ^= &= >>= <<=
举例
常常分不清优先级了,需要加很多的括号,相当不受看,常用的如下几种情况就不用加括号
*p->x
&p->y
if(a==b+c)
if(a!=b>>1)
相反的,以下情况需要加括号
if(a==(b&c))
祝君精进!