yaowang820907的专栏

NOT MAYBE, MUST BE!!!

关于自加运算符与二元运算符

1、自加运算符 ++
  运算规则:++在变量前,先运算,后取值;反之毅然。
  如:int a = 2,b;
      b= ++a; //相当于:{a=a+1;b=a;}
      b = a++;  //相当于:{b=a;a=a+a;}

2、二元运算符 +
  运算规则:先求得 + 号两边的表达式的值,再返后两端值相加后的结果。
  如:int a = 2, b = 3,c;
      c = a +b;  //相当于:{2+3;c=5}
      c = (a + a) + ( a + b );  //相当于:{2+2,2+3,4+5,c=9}

3、++与+的混合应用
  运算规则:++运算符的优先级高于+运算符。
  如:int a, m;
      m = (++a) + (++a) + (++a);
      // 结果为 m = 13
      m = (++a) + (++a) + (++a) + (++a);
      // 结果为 m = 19
  解释如下:
     
m = (++a) + (++a) + (++a); 相当于:m = ((++a) + (++a)) + (++a);
按从左至右的顺序,两个数相加时,先求得要加的两个数,按照这个原则应为:
            m = (4+4) + (++a) // a = 4
                = 8 + (++a) //a = 4
                = 8 + 5 // a = 5
                = 13
            同理:m=(++a) + (++a) + (++a) + (++a); 相当于:m=(((++a) + (++a)) + (++a)) + (++a); //a=2
            m = (( 4 + 4) + (++a)) + (++a) //a=4
                = (8 + 5)+(++a) //a=5
                = 13 + 6 //a=6 
                = 19

阅读更多
文章标签: c
个人分类: JAVA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭