编程论坛
注册
登录
编程论坛
→
C++教室
i++和++i有什么不同
心剑无痕
发布于 2010-02-10 16:36, 2707 次点击
在一个for循环中例如for(int i=0;i<=5;i++)跟for(int i=0;i<=5;++i)有什么不同的地方,他俩有什么区别
6 回复
#2
gyx8899
2010-02-10 18:15
上面两个式子效果一样。
每经过一次循环,i递增1。
例子:
for(int i=0;i<=5;i++)
;
等价于:
int i=0;
while(i<=5)
{ i++;}
for(int i=0;i<=5;++i)
;
等价于:
int i=0;
while(i<=5)
{ ++i; }
当把(i++)或(++i)赋给其它变量时,有区别。
#3
范SKY1989
2010-02-10 18:19
++i 先自加1然后调用i
i++ 先调用i然后自加1
上面这两个循环意思一样
你看看下面这个
#include<iostream>
using namespace std;
int main()
{
int i=0;
int m=0;
cout<<i++<<" ";
cout<<++m<<" ";
}
#4
promising
2010-02-10 20:50
赞同上面两位。
曾经我也困惑过,但运行结果是相同的,都是for(int i=0;i<=5;i=i+1)的意思。
#5
心剑无痕
2010-02-10 22:23
三楼那句真经典
#6
哥是传说
2010-04-27 17:38
同意三楼观点
#include<iostream.h>
int main()
{
int a,i=0;
a=++i;//相当于i=i+1;a=i;
cout<<"a="<<a<<endl;
return 0;
}
#include<iostream.h>
int main()
{
int a,i=0;
a=i++;//相当于a=i;i=i+1;
cout<<"a="<<a<<endl;
return 0;
}
#7
zzt_428
2010-04-27 18:27
两种写法i的值都是加1,不同的是 i++和++i表达式的值
1