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

自增自减不太懂

自增自减是指在完成运算所得值给下一步使用吗?

提问者:慕圣5972245 2016-01-30 15:01

个回答

  • AX11
    2016-01-30 15:55:48
    已采纳

    #include <stdio.h>
    int main()
    {
        int x = 0;
        printf("x=%d\n",x++);
        printf("x=%d\n",++x);
        return 0;
    }

    以上面这段代码为例,

    int x=0;

    定义了x的值为0

    printf("x=%d\n",x++);

    输出上面一行代码“x++”的运算结果,结果:x=0

    为什么x=0呢?因为“x++”的运算规则是  先取值再运算  ,换成人话就是,先输出x的值:0,再去加1。虽然现在显示的是0,实际上他的值已经变成了1

    printf("x=%d\n",++x);

    这里再输出上面一行代码中“++x”的运算结果,结果:x=2,

    为什么x=2呢?因为“++x”的运算规则是  先运算再取值  ,再换成人话就是,先计算x+1,再输出结果,

    前面也说过,在执行过“printf("x=%d\n",x++);”这一行代码后,x已经变成了1,所以这时的x=1+1=2。


    PS:我也是初学者,如果哪里说错了,请指出,一定虚心接受!

  • Togepi
    2016-01-30 15:35:07

    i++是先取值再加1;

    ++i是先加1再取值;

    比如:

    int m=5,n;

    //n=m++;

    //n=++m;

    第一种输出n就是5,但m=6;

    第二种输出n就是6,m=6;