经过测试
#include<stdio.h>
int main()
{
int a = 1;
int b = 1;
for (int i = 0;i < 100;i++)
{
printf("%d", a);
a += 1;
}
for (int j = 0;j < 100;++j)
{
printf("%d", b);
b += 1;
}
return 0;
}
得到结果说明i++和++i放在for的条件括号里面以后最后起到的作用是完全一样的。i++是先自增,然后返回自增之前的值;++i是先自增,然后返回自增之后的值。而所谓的返回值并不是指的是i,这两者不是一个概念。返回值是“i++”这个整体所代表的数,而i就是i,只要自增了它的值就变化了。只有k=i++或者k=++i这种表达式出现时,两者才会有区别;否则如果是像for(i=0;i<100;i++)和for(i=0;i<100;++i)这样的两种表达,它们没有区别