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. 对于这种问题,不可能脱离编译器,单独讨论的。
在C语言中(i++)+(i++)+(i++)和(++i)+(++i)+(++i) 有什么区别啊?急救
for(i=0;i<5;i++) {...} 和 for(i=0;i<5;++i) {...}有区别吗?
i++与i=i+1的区别
--i 和 i-- 有什么区别
在这种情况下i++和++i有什么区别?
i++和++i命令有什么区别?
for(i=0;i<m;i=i+m-1)与for(i=0;i<m;i=m-1)有什么不同?
“for(int i=1;i<100;i++)” 与“int i;for(i=1;i<100;i++)”有什么不同?
for(i=1;i<10;i++)和for(i=1;i<10;++i)是不是都一样
s[i++]=s[j++]; 和s[i]=s[j];i++;j++; 这两个语句有什么区别?