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

为什么这两个要换一下位置

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

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

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

后面的x++为什么要在之前的位置颠倒一下


提问者:慕码人1094495 2019-12-16 20:18

个回答

  • 蝴蝶蓝兰
    2019-12-16 21:00:24
    已采纳

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

    运行结果:

    x=0
    x=2

    用这个代码来解释,x++表示先取值再运算,所以它一开始输出的结果是0,之后+1,++x表示先运算再取值所以+1,最后结果是2.


  • qq_慕尼黑6200635
    2021-08-09 15:57:27

    x++是下个才得出答案,++x是直接得出答案。

  • 慕后端5183121
    2020-01-05 21:32:13

    http://img1.mukewang.com/5e11e54b0001153f11780823.jpg运算是有关联的

  • 慕仙7415132
    2019-12-21 21:59:34

    有点懵?

  • weixin_慕数据9458292
    2019-12-16 20:33:53

    x=0是已知条件对吧,x++输出的还是0,但实际上x已经加了1变为了1.而后++x先加1而后输出,因为x已经变为了1,所以最后输出的结果为2.