问答详情
源自:3-3 自增与自减运算符

例题里面的答案不太能理解 我先分析一下我怎么想的

首先a=100,

第一个输出的是a++,这时候是先取值再赋值,所以输出是100(但是实际a值输出后变成了101);

第二个输出的是++a,这时候是先赋值再取值,所以输出的是102(也就是101+1=102,这时候a已经是102);

第三个输出的是--a,这时候和上面一样,输出101(也就是102-1=101,这时候a也就变成101了);

第四个输出的是a--,还是先取值再运算,所以输出的是101(但是实际值已经是100了)

然后第五个输出的是a+1,也就是101(100+1);

最后输出a的值100(转了一圈又回来了);

好吧本来我理解这个自增自减是有点问题的,结果自己打出来这么一分析感觉又能理解了。按我现在的理解这个a++,++a什么的其实是包含了

一个赋值的过程,前面的运算结果会影响后面的计算,是环环相扣的是吧,,,这样理解对吗?

提问者:慕粉1435423470 2019-03-12 11:26

个回答

  • weixin_慕田峪0396689
    2019-04-15 16:39:21

    恍然大悟

  • 藤原码红
    2019-03-26 22:50:48

    看完你的说法我也终于理解了

  • qq_慕用8225582
    2019-03-23 20:54:50


    首先a=100,

    第一个输出的是a++,这时候是先取值再赋值,所以输出是100(但是实际a值输出后变成了101);

    第二个输出的是++a,这时候是先赋值再取值,所以输出的是102(也就是101+1=102,这时候a已经是102);

    第三个输出的是--a,这时候和上面一样,输出101(也就是102-1=101,这时候a也就变成101了);

    第四个输出的是a--,还是先取值再运算,所以输出的是101(但是实际值已经是100了)

    然后第五个输出的是a+1,也就是101(100+1);

    最后输出a的值100(转了一圈又回来了);




  • qq_慕函数6206282
    2019-03-20 10:49:47

    先赋值再取值++a 为什么输出是102  不是101吗  ,好就算这个算法对,但是下面--a不是按照这样算的吗?

    102赋值  101 取值 再-1  不应该是100吗?求大神解答  

  • 慕婉清2155062
    2019-03-12 13:00:43

    dui