美文网首页
++、--,自增自减可以这样算!一点都不费劲

++、--,自增自减可以这样算!一点都不费劲

作者: 志熙兮 | 来源:发表于2019-08-02 01:24 被阅读0次

    ++、--,自增自减要怎么算?

    ++ -- 属于单目运算符

    ++ 表示自增一

    -- 表示自减1

    有两种情况:

    1、单独使用

    ​ 表示自增或者是自减,没有什么区别

    2、参与运算

    ​ 如果 ++ 放在操作数的左边,如:++a 就表示 a 先自增一 再参与运算(--同理)

    ​ 如果 ++ 放在操作数的右边,如:a++ 就表示先参与运算 再自增一(--同理)

    有时候觉得挺简单的,不就是自增一、自减一吗。有时候算着就出错了

    那就先上两道题目吧!

    如题:
    int x = 3;
    int y = (x++)%(++x);
    求 x、y 的值
    
    解析:
    1、上面3赋值给x
    2、下面 x++ 表示用(x++ = 3)先参与运算,此时x已经偷偷自增一 x=4 了
    3、后面 ++x 表示先自增一为(++x = 5),进过上面一次自增已经是 4 的 x 再增了一,就 x=5 了
    4、有了上面的计算,y = 3%5 ,y=3
    5、x=5 y=3
    
    总结:x 有了两次的自增,所以就 x+1+1 = 5
    
    int n = 5;
    n = ++n + ++n;
    求n=?
    
    解析:
    1、上面 5 赋值给 n
    2、(下面 ++n 表示先自增1)再加上( ++n 先自增1),就是 n = 6 + 7
    3、n 被重新赋值,所以最后输出 n = 13
    
    练练手:
    
    int a = 2;
    int b = 3;
    int res1 = ((a++)+(++b))*2+(--a)%(b++)-(++a)*3+(--b)/(--a);
    请推断res1,a,b此时的值
    
    心得:运算的时候,一定要记录下来a b两个数的自增或自减后的情况,最终的a b的值就是要输出的
    
    计算结果:   res1=8      a=2     b=2
    

    遇到自增自减的题,只要仔细点,把每一步的自增自减后得值记录好,相信自己!就不会有问题的

    相关文章

      网友评论

          本文标题:++、--,自增自减可以这样算!一点都不费劲

          本文链接:https://www.haomeiwen.com/subject/nmzhdctx.html