这个运算符优先级的问题老早就想整理一下了,因为这一次做题因为这个运算符优先级的问题wa了好几发,所以说此时不写,更待何时!!!
我从其他的博客上看到了一条背诵这个优先级的口诀,单算移关与,异或逻条赋 , 现在来解释一下每个字的含义,
单:
单目运算符,包含的有逻辑非(!),按位取反(~),自增(++),自减(–),取地址(&),取值(*);就是操作数只有一个的
算:
算术运算符,包含的有乘、除和求余(*,/,%)级别高于加减(+,-);
移:
表示按位左移(<<)和位右移(>>);
关:
关系运算符:包含的有大小关系(>,>=,<,<=)级别高于相等不相等关系(==,!=);
与:
表示按位与(&);
异:
表示按位异或(^);
或:
表示按位或(|);
逻:
逻辑运算符:包含的有逻辑与(&&)级别高于逻辑或(||);
条:
表示条件运算符(? : );
赋:
表示赋值运算符(=,+=,-=,*=,/=,%=,>>=,<<=,&=,^=, |=,!=);
注意
逗号(,)的优先级最低,需要另加记忆