C语言for里的i++和++i一样吗?

在C语言的for循环里 小括号的第三部分里 出现i++ 和++i 一样吗?

我做了好几次试验 怎么结果都一样啊

是一样的。i++和++i的相同点是都会把变量i的值增加1,不同在于把它们用于其他计算或者参数传递的时候,前者取的是i的旧值,后者取的是i的新值。

在for里面第三部分里只是单独的i++或者++i,没有把它们用于其他计算,所以是相同的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-12
不一样的,
你用用下面这两句试试:
printf("%d\n",i++);
pritnf("%d\n",i);
然后你再用这两句试试:
printf("%d\n",++i);
pritnf("%d\n",i);
看出不同了吗?追问

谢谢你的回答朋友 在计算的时候 我知道这两个的区别 可是他们在for里 好像在数值上是一样的啊 是吧?!

追答

恩,在for里基本上都差不多的,一般两者都可用,

本回答被提问者采纳
第2个回答  2011-09-12
for(int i=0;i<=80;i++)与for(int i=0;i<=80;++i)
看不出i++与++i的区别。但实际上是有区别的。如下:
int i=0,m=0;
i++;//这时的i=0
++m; 这时的m=1追问

那到底是什么区别呢? 呵呵 我就是在研究这个

追答

i++是先赋值,后运算。
++i是先运算,后赋值。

第3个回答  2011-09-12
独立语句上看 是一样的 i++ or ++i
但是当赋值的时候情况就改变了
int sum;
int i=5;
sum=i++; //sum被赋予值为5;然后i=i+1;
sum=++i; //i=i+1,然后sum被赋予值为5;;追问

谢谢你的回答 不过他们在for里 所计算出来的结果是一样的吧?! 我试了很多次都是 以为算错了

追答

for(i=0;i<n;++i) 无论是++i或者i++都等同于i=i+1;
因为++i 在这里是独立的语句

第4个回答  2011-09-12
不一样啊~
int k=0;
int l=0;
for(int i=0;i<50;k=i+++10){
printf("%d\n",k);
}
printf("%s\n","");
for(int j=0;j<50;l=++j+10){
printf("%d\n",l);
}
这样你就可以看出来了