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

在代码运行中,前++和后++的区别。

#include <stdio.h>

int main()

{

    int x = 1,y=10;

    x=x*y;

    x++;

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

    

    return 0;

}

代码中将x++;换成++x;为什么结果是一样呢?请帮忙解答!

提问者:蓝莓_咖喱 2016-03-03 11:01

个回答

  • 嗨嗨嗨嗨嗨i
    2016-03-03 11:35:18
    已采纳

    因为这个就是单纯的自增啊,所以x++和++x没什么区别。如果x++参与运算了那就不一样了,例如,a=2,x=3,表达式a*x++的值为2*3=6,表达式算完以后x要自增1,所以x的值就是4了。

    而a*++x的值就为2*4=8了,这是因为x先自增了,再参与运算。

    总结一点就是,++前置,先自增再参与运算;++后置,先参与运算,自身再自增。

  • liuyucc
    2016-03-03 15:05:08

    ++在前是先自加1,再取值。++在后是先取当前值再自加1。但是无论++前置还是后置两者最后都会自加1,即都会执行x=x+1,所以该程序最后输出的a都是一样的,如果改为printf("%d\n",x++)和printf("%d\n",++x)则两者结果不一样。