| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10822 人关注过本帖
标题:for(i=0;i<=5;i++)和for(i=0;i<=5;++i)有区别吗?
只看楼主 加入收藏
jovon
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2012-1-25
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:9 
for(i=0;i<=5;i++)和for(i=0;i<=5;++i)有区别吗?
为什么有些代码中把i++写成++i,用在for中具体区别是什么?
搜索更多相关主题的帖子: 简约 
2012-02-13 18:17
闲出屁
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:420
专家分:612
注 册:2012-1-24
收藏
得分:5 
++i 和 i++ 单独一行语句时没什么区别 传说++i比i++运算快 没看过asm代码 没太研究
++i每次循环都执行 如果循环是几百万 几个百亿 那么点速度可能会有那么一点效果

乔布斯是神 宫崎骏也是神~~ 才知道 原来士兵突击的主题曲是久石让的 久石让的音乐 真传神
2012-02-13 18:20
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:5 
在这里是没有区别的,但是在有些代码行里面就有区别了,比如:a=5;x=a++;经过这一句后x==5,a==6;但是如果是:a=5;x=++a;经过这一句后,x==6,a==6;
这就是++写在前面和写在后面的区别吧;
2012-02-13 18:37
C_596322153
Rank: 6Rank: 6
来 自:徽州
等 级:侠之大者
帖 子:182
专家分:466
注 册:2012-1-10
收藏
得分:0 
在单独for语句中没啥区别  i++ 和++i 就是看你要先使用还是先自加
2012-02-13 18:47
九歌999
Rank: 2
等 级:论坛游民
帖 子:13
专家分:11
注 册:2012-2-13
收藏
得分:0 
我认为没区别  在这里

你是我天空中的太阳
2012-02-13 19:01
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
收藏
得分:0 
在for的控制循环里是没区别的额。。。

数学好难!
2012-02-13 19:28
smallboys
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-17
收藏
得分:0 
有区别的
2012-02-13 20:16
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:10 
速度上也没区别。现在还活着的编译器,我觉得最蠢的也知道把这样的代码优化成完全相同的东西。
单独使用的前后置自增,在语义上也没有任何区别。

按照传统,或者是 C 语言发明者的书写习惯,人们觉得在 for 里面用 i++ 更舒服。
理由是:在这一轮最后做的自增运算,是为了给下一轮循环的 i 设置初始值。所以使用后置的自增运算,来表达“这一轮结束时 i 的值不变,而在下一轮开始前 i 值已自增”似乎更为贴切。

这种说法,多少有点咬文嚼字的味道,不过过去的很多年,确实有不少人很欣赏,i++ 的这一点微乎其微的优雅。
但有了 C++ 之后,因为 ++itr 和 itr++ 有了显著的区别。而 ++itr 从任何意义上讲,都比 itr++ 要好。(有些对象甚至就只能前++。)
有人开始觉得,如果真的要统一代码格式的话,就都统一成 ++i 要好一些,因为对于 C 来说,它没有任何区别,对于 c++ 来说,却大不相同。
2012-02-13 22:37
snakelazixp
Rank: 2
等 级:论坛游民
帖 子:51
专家分:94
注 册:2012-2-13
收藏
得分:0 
++i比i++执行的效率要高,不过现在的大部分编译器都没有这方面差异了。。。。。。。。。。。
2012-02-13 22:53
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:0 
楼上各位以解释的很清楚了,纯属顶帖普及基础知识

我的地盘
2012-02-13 23:08
快速回复:for(i=0;i<=5;i++)和for(i=0;i<=5;++i)有区别吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018810 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved