在C语言中I++与++I的区别?

来源:百度知道 编辑:UC知道 时间:2024/06/19 03:48:56
在C语言中I++与++I的区别?如果I=5,I++是先将I取值为5,在将5+1使I中的值为6,但为什么I++还是等于5呢?

例如
i=5;
printf("%d",i++);
你既然知道i++是先取值那么,printf这个函数当然取的是i=5的时候的值咯。
相反的
i=5;
printf("%d",++i)
则是先自加后,再把i的值取出来,printf所取的i值当然就是6咯

++i 是在你此次操作过后在加1,i++则是在操作之前久加1.

printf("%d",++i) //这个相当于:i=i+1;printf("%d",i) ;

printf("%d",i++) //这个则相当:printf("%d",i);i=i+1;

如果你这样写:
++i; //这里不管是"++i,还是"i++"
printf("%d",i);//这里的i值都是6!
//所以你完全可以分开来写,免得自己晕自己!

如果i++和++i是单独的一个语句那它们的意义是一样的,如果不是那就不一样了。
i++;与++i;这两个是一样的,结果也是一样,
如果是j=i++;和j=++i就不一样了,你写个小程序就知道了

i++是先读取再加,++i是先加后读取,这在输出语句中能体现出来