• C/C++运算符优先级关系


    C/C++优先级 从高到低 1~14梯队

    1、  ()  []  .  ->

    2、   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 

    3 、  * / % 

    4 、  + - 

    5 、  >> <<  

    6 、  > >= < <= 

    7 、  == !=   

    8 、  &  

    9 、  ^   

    10、  |   

    11、  &&

    12、  ||

    13、  ?:

    14 、  =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=

    举例

    常常分不清优先级了,需要加很多的括号,相当不受看,常用的如下几种情况就不用加括号

    *p->x

    &p->y

    if(a==b+c)

    if(a!=b>>1)

    相反的,以下情况需要加括号

    if(a==(b&c))

    下边这个点需要注意:(当参与运算的位不纯时,其它位上的值会被当作真来影响结果,即C/C++虽然能进行位运算,但却是用整个字节中的所有位来进行运算的,然后整个字节中所有位的整体值为最终结果的)

    int n = 2;
    bool b1 = (n ^ 1);//true
    bool b2 = (n ^ 2);//false

    n = 3;
    bool b3 = (n ^ 1);//true
    bool b4 = (n ^ 2);//true

    祝君精进!

  • 相关阅读:
    fitnesse的安装
    elasticsearh 迁移
    网络基础之 二层三层网络通讯
    ansible 基本使用之3 palybook
    ansible-基本使用-2
    ansible 基本使用-1
    k8s 机器搭建之etcd
    http 状态码之3xx
    mysql 主从相关
    redis 主从及哨兵模式
  • 原文地址:https://www.cnblogs.com/ice-arrow/p/11881900.html
Copyright © 2020-2023  润新知