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

来源:3-3 自增与自减运算符

蓝莓_咖喱

2016-03-03 11:01

#include <stdio.h>

int main()

{

    int x = 1,y=10;

    x=x*y;

    x++;

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

    

    return 0;

}

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

写回答 关注

2回答

  • 嗨嗨嗨嗨嗨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)则两者结果不一样。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926931 学习 · 21533 问题

查看课程

相似问题