问答详情
源自:4-9 循环结构之for循环(二)

num++和++num

  1. 为什么结果相同,这两个在这里一样吗?



提问者:qq_峰印_0 2017-09-26 17:41

个回答

  • qq_木_arENRZ
    2017-09-29 16:46:28

    a++ 的含义是先赋值后相加,如 b=a++; 先将a的值赋给b,然后a再加上1;++a的含义是先相加后赋值,如 b=++a 先将a加上1,然后再把加上1的a赋给b.
    int a=1;
    b=a++; ---> b=a ,b=1;a+1,a=2;
    b=++a;--->b=a+1,b=2; 此时的a已经是2

  • qq_莫非
    2017-09-26 17:55:43

    单独看结果肯定是一样的

    但是问题在于num本身的值 发生改变  
    举个例子来说
    int num=0;
    int a=num++;
    int b=++num;
    a的值是0,而b 的值是1,   也就是说 num++ 是先把num 的值赋给a  再自行j加1;而++num是 将num加1后 (这时num为1)  再赋给b