1 /* 2 Name:++i和i++的区别 3 Copyright: By.不懂网络 4 Author: Yangbin 5 Date:2014年2月15日 02:40:27 6 Description:熟悉前自增或自减的用法 7 */ 8 # include <stdio.h> 9 int main(void) 10 { 11 int i,j,k,m; 12 i = j = 3;//等同于i=3 j=3 13 k = i++; //i++为后自增 14 m = ++j; //++i是前自增 15 16 printf("i=%d,j=%d,k=%d,m=%d\n",i,j,k,m); 17 return 0; 18 } 19 20 /* 21 ---------------------- 22 该代码由C-Free 5.0 编写并输出调试结果 23 --------输出结果------------ 24 i=4,j=4,k=3,m=4 25 ----------------------------- 26 总结: 27 自增或自减分为i++和++i 28 i++ ----> 后自增 29 ++i -----> 前自增 30 相同点,i++和++i最终都是使i的值加 1; 31 不同点,后自增是i+1之前的值,前自增是i+1之后的值 32 */
自增或自减分为两类:
他们的相同点是不管是后自增还是前自增,最终都是使i的值加1。
上述代码中,i = j =3,i 和 j 的值都为3,不管++j还是i++,最终值都是使i或者j的值加1,所以输出结果为,i = 4;j = 4;
不同点:
后自增i++的值是是i+1之前的值,前自增++i的值是i+1之后的值;
上述代码中
k = i++ ,i++是后自增,k的值等于i+1之前的值,i的值是4,i+1之前的值为3,所以k=3
m = ++j ,++j是前自增,j的值等于j+1之后的值,所以m=4,j+1之后的值为4
原文:http://www.cnblogs.com/Yang-bin/p/3550210.html