for循环的累加条件I++ 和 ++I有什么区别

 我来答
茜拉密
2018-07-05 · TA获得超过1.7万个赞
知道小有建树答主
回答量:129
采纳率:88%
帮助的人:5.2万
展开全部

i++是先进行一次循环,在进行累加;++i是i先进行一次累加,再循环。

两个对于循环的次数都是没影响的,都是5次,都是当 i 小于5 不成立的时候跳出循环,但后面的 i 还是会递增1的。

两者不同的地方在于++i 占用的空间比 i++ 要小,i++是多定义一个变量的。看看运算符重载可以知道是怎么回事。

在for循环中,如for(i=0;i<5;i++)与for(i=0;i<5;++i)在for循环的次数上没有区别,都是五次,因为i++和++i都是在for循环内的语句执行后才执行!

freeeeeewind
推荐于2017-09-04 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1341万
展开全部

循环变量++i 和 i++对for循环而言是等效的。例如

int i;
for( i=0; i<100; i++) {
  /* 循环体 */
}  

for( i=0; i<100; ++i) {
  /* 循环体 */ 
}

这两个循环的循环体都被执行了100次;循环结束时,i 的值都等于100。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友845f74e61
推荐于2017-09-02 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1617万
展开全部
for(int i=0;i<10;i++)
for(int i=0;i<10;++i)
这样没有区别。

int i=1;
int a = i++;
int a = ++i;
这时才有区别
第一个a是1
第二个a是2
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoalyg
2012-01-17 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2375万
展开全部
一般来说,二者之间没有区别,这是对ANSI C来说的,因为ANSI C没有规定二者的实现方法。也有人说有区别,这是针对某个C语言的具体实现而言的,这些人认为++I,比I++效率更高。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
油煎饼把灿
2019-09-20
知道答主
回答量:4
采纳率:0%
帮助的人:2870
展开全部
你问的问题的答案肯定是没有区别,
你看看下面四个例子就懂了
for (a = 1; a < 3 ; a++);
printf("%d\n",a);
输出的结果是3
for (a = 1; a < 3 ; ++a);
printf("%d\n",a);
输出的结果是3
for (a = 1; a < 3 ; a++)

printf("%d\n",a);
输出的结果是2
for (a = 1; a < 3 ; ++a)
printf("%d\n",a);
输出的结果是2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式