Upper operators are more preemptive than lower ones.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | left to right [] () . -> rear++ rear-- right to left front++ front-- sizeof & * +(positive) -(negitive) ~ ! right to left (mandatory transform) left to right .* ->* left to right * / % left to right + - left to right << >> left to right < > <= >= left to right == != left to right & left to right ^ left to right | left to right && left to right || right to left ?: right to left = *= /= %= += -= <<= >>= &= ^= |= left to right , |
refer to:
https://blog.csdn.net/l2014010671/article/details/104636916