关闭

C运算符优先级

490人阅读 评论(0) 收藏 举报

 

由上至下,优先级依次递减

结合性: ---> 表示自左向右(反之亦然)

()   []   ->   .                                                (--->)

!   ~   ++   --   -   (type)   *   &   sizeof       (<---)

*   /   %                                                      (--->)

+   -                                                            (--->)

<<   >>                                                      (--->)

<   <=   >   >=                                           (--->)

==   !=                                                       (--->)

&                                                                (--->)

^                                                                (--->)

|                                                                 (--->)

&&                                                              (--->)

||                                                                (--->)

?:                                                                (<---)

assignments                                               (<---)

,                                                                  (--->)

 

 

 

 

规律:

1、单目运算符优先于双目、三目

2、赋值符优先级特别低

3、位逻辑优先于代数逻辑 (正确说法是?)

4、比较运算的优先级高于逻辑运算

 

    总结一下,按运算符优先级从高到低:单目运算符->双目运算符->三目运算符->赋值运算符->逗号运算符

 

Examples:

++p->len  =  ++(p->len)

*p->str++ = *(p->str)++ = *((p->str)++)

*p++->str = *(p++)->str = *((p++)->str)

msb<<4+lsb = msb<<(4+lsb)

*p.f = *(p.f)

val&mask!=0 val&(mask!=0)

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:169086次
    • 积分:2454
    • 等级:
    • 排名:第15641名
    • 原创:66篇
    • 转载:66篇
    • 译文:0篇
    • 评论:24条
    文章分类
    最新评论