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

自增自减是怎么运算的?

int x =100;

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

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

 

提问者:夏虫不可语冰丶 2016-01-17 13:59

个回答

  • 帅光
    2016-01-17 14:22:19

    x++就是先把数取出来再把原来的+1  ++x是先+1再得出 如x=1 先x++得出1 再++x的话=2  不知道对不对新手求教

  • 蓝色星沉
    2016-01-17 14:22:16

    第一步,x++就是先取值再运算,()里的“x=%d”就是一个取值过程,所以它先取值x=100,并输出100,然后运算(+1),之后x就是101了;

    第二步,开始时如上最后所述,x=101,++x就是先运算(+1)=102再取值,所以取值x=102,并输出102;

    第三步,开始时如上最后所述,x=102,--x就是先运算(-1)=101再取值,所以取值x=101,并输出101;

    第四步,开始时如上最后所述,x=101,x--先取值x=101,并输出101,然后运算(-1),当然运算后的结果x=100就和这一步输出的结果无关了,它只影响之后的运算(如果有的话)。

  • Fred_0005
    2016-01-17 14:15:11

    ++i与i++的区别为i++为参与运算后加一,而++i先加一后运算
    假如
    i=5;
    printf("%d",i++);
    i++是先取值,printf这个函数当然取的是i=5的时候的值。
    i=5;
    printf("%d",++i)
    则是先自加后,再把i的值取出来,printf所取的i值当然就是6