i=i+1和i+=1有什么区别

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:48:29

两个的效果一样,都是使I加1

但后面一个更好,生成的机器代码执行速度更快,而且写在代码中显得更紧凑

这个问提应该有个前提。就是你已经设置了i的值。这里加入i=1.哪么下面,i=i+1,这个就是i=i+1,若下面还有程序,i就等于2.而i+=1呢,他是先取i=1.然后在做加法,虽然结果一样,但是有时候应用起来不一样的。就像++i和i++.分清楚就ok

意义上是没有区别的
网上有很多人讨论如果不经过编译器优化的效率问题
不过我觉得效率也应该是一样的

这里有菜鸟们的讨论
看一下吧
http://topic.csdn.net/t/20050429/14/3976048.html

二者就是表现形式不同,表达式结果一样!!!

对大部分编译器来讲,生成的代码是一样的。有些编译器可能会有区别。

ps. 对于这种问题,不可能脱离编译器,单独讨论的。