zoukankan      html  css  js  c++  java
  • 学习记录 彻底搞清 C#中a++与++a的区别

    首先 a++和++a 的定义:看个例子
    A: a=5; b=++a; // 相当于a=a+1;b=a; 结果是a=6,b=6
    B: a=5; b=a++; // 相当于b=a;a=a+1; 结果是a=6,b=5
    所以书上有:
    (1) 如果用前缀运算符对一个变量增1(减1),则在将该变量增1(减1)后,用新值在表达式中进行其他的运算。
    (2) 如果用后缀运算符对一个变量增1(减1),则用该变量的原值在表达式中进行其他的运算后,再将该变量增1(减1)后。


    举个列子:求a的最终值
    int a=3;
    a+=a+=a++*a--;
    计算过程如下:
    先算a++*a--
    由于a=3
    a++等于3 //这里后缀++中的第二步自加运算还没有进行
    a--等于3 //这里后缀--中的第二步自减运算还没有进行
    所以 ++*a-- 等于9
    a+=a++*a-- 等于a+=9等于a=a+9=3+9=12
    在算a+=a 等于a=a+12=12+12=24
    然后在进行再后缀++中的第二步自加运算和后缀--中的第二步自减运算
    即进行 a=a+1;此时a=25;再进行a=a-1;此时a=24 所以最终a=24

  • 相关阅读:
    单分发器
    Python 虚拟环境
    $modal
    memoization
    directive例子2
    UI-Router
    angular-translate
    directive例子1
    FileInputStream/FileOutputStream的应用
    自定义readLine
  • 原文地址:https://www.cnblogs.com/zhoudi/p/5310403.html
Copyright © 2011-2022 走看看