今天看腾读的题有这么一道,
a^b<<2;
很自然的感觉是b<<2先运算.
但为啥呢? 因为<<在二目运算符里属于比较高的.
1. 以下为主要的二目与三目运算符中的优先级比较.
* / %
+-
<< >>
< <= > >=
== !=
&
^
|
&&
||
? :
赋值运算符 = += != |= 等
2. 有些运算符是零目的,我也不懂为啥不能称为一目.
[] . () ->
3. 一目运算符的结合方向(也就是说出现a + b +c时是哪个运算符先去执行)
比较特殊,是从右向左.
[] &(取地址) sizeof ! ~ ++ -- - (类型转换)