第1个回答 2019-02-16
其实i++是引用原值后自增1;而++i是先自增1在引用。这个是在表达式中,而单独个一个语句i++和++i其实都是一样的。
比如说
int
i=1;printf("%d\n",i+++1);(结果2)
和
int
i=1;printf("%d\n",++i+1);(结果3)就有区别。
而int
i=1;
i++;
printf("%d\n",i);和
int
i=1;
++i;
printf("%d\n",i);就没区别,结果都是2。
第2个回答 2019-04-15
i++ 执行的时候是 先执行i的原值 然后将i自加 例如:i=0;i++;printf("%d",i); 输出0 但此时的i已经变成了1 如果在第一个printf后再加一条语句printf("%d",i); 会输出1
而++i 执行的时候是 先将i自加 然后用自加后的i值运算 例如:i=0;++i;printf("%d",i); 直接输出1