zoukankan      html  css  js  c++  java
  • 大约++和--了解运营商

    在c/c++,java里面都有++/--这种递增递减的单目预算符。

    今天在看java代码演示样例时。看到了以下的代码

    复制代码
    1 int x =7;
    2 int y =0;
    3 x = x++;
    4 y=x++;
    5 z=++x;
    6 printf("y=%d,z=%d",y,z);
    复制代码

    上面的代码的输出是7,9.

    对于上面的问题的处理,主要是要真正理解了赋值运算符和递增递减运算符的实质:

    1. =这个赋值运算符。它是首先计算表达式右边,然后把右边的结果再赋值给左边的变量。

    2.关于++/--单目运算符。依据它在变量的左边和右边。我们这样理解:符号在右边,先使用变量值。然后再增减;符号在左边,先增减。在使用变量值。

    结合上面的两个规则,我们来分析x=x++。 --》先使用x的变量值作为=号的赋值的值(7),然后x++。这是x的值变成8.然后把右边的结果7再赋值给x,这样x终于变成了7.

    剩下的y=x++ --》y=7;x=8

              z=++x;-->z=9,x=9.

    我们希望实际的上述分析。

  • 相关阅读:
    牛客算法周周练18A
    洛谷P2580
    Codeforces 617E
    SPOJ 3267
    Codeforces Round #661 (Div. 3) 解题报告(ABCD)
    Codeforces 1399D
    Codeforces 1399C
    Codeforces 1399B
    Codeforces 1399A
    牛客算法周周练18 解题报告(ABCE)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4570985.html
Copyright © 2011-2022 走看看