注:标号1—15优先级由高到低。

    优先级    运算符    含义  操作数个数  结合方向

       

          1 


     ()[] -> .

圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符


     自左向右

       




       2

       !

       ~

       ++

       --

       -

      (类型)

        *

        &

     sizeof

 逻辑非

按位取反

自增

自减

负号

类型转换

指针运算符

取地址符

长度运算符

      




1(单目运算符)






自右至左

     3  *  /  %乘法,除法,求余2(双目运算符)自左至右
       4     + -加法 ,减法2(双目运算符)自左至右
       5    << >>左移,右移2(双目运算符)自左至右
       6< <= > >=关系运算符2(双目运算符)自左至右
       7  ==  !=等于 不等于运算符2(双目运算符)自左至右
     8       &按位与2(双目运算符)自左至右
     9       ^按位异或2(双目运算符)自左至右
      10       |  按位或2(双目运算符)自左至右
      11      &&逻辑与运算2(双目运算符)自左至右
      12      ||逻辑或运算2(双目运算符)自左至右
      13      ?:条件运算符3(三目运算符)自右至左
      14

= += -= *= /=

%= >>= <<= &= 

^= |=

赋值运算符

    

          2

自右至左
      15        ,逗号运算符
自左至右

记忆方法:

初等运算符:()[]-> ->单目运算符->算术运算符->移位运算符->位操作运算符->逻辑运算符(不包括!)->条件运算符->赋值运算符->逗号运算符