夏虫不可语冰丶
2016-01-17 13:59
int x =100;
printf("x=%d\n",x++);
printf("x=%d\n",++x);
printf("x=%d\n",--x);
printf("x=%d\n",x--);
x++就是先把数取出来再把原来的+1 ++x是先+1再得出 如x=1 先x++得出1 再++x的话=2 不知道对不对新手求教
第一步,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就和这一步输出的结果无关了,它只影响之后的运算(如果有的话)。
++i与i++的区别为i++为参与运算后加一,而++i先加一后运算
假如
i=5;
printf("%d",i++);
i++是先取值,printf这个函数当然取的是i=5的时候的值。
i=5;
printf("%d",++i)
则是先自加后,再把i的值取出来,printf所取的i值当然就是6
C语言入门
926020 学习 · 20793 问题
相似问题