注册 登录
编程论坛 C++教室

求助 c++中for循环中的++i跟i++区别

w1361822191 发布于 2019-02-01 23:12, 4338 次点击
为什么在c++二级考试题中++i跟i++写反显示错误


求大神点名,网上说是一样
11 回复
#2
幽竹烟雨2019-02-02 11:39
能发一下源代码吗?
#3
Jonny02012019-02-02 11:44
i++
先获得 i 的值然后再执行 i += 1
++i
先执行 i += 1 然后再获得 i 的值
现代编译器在 for 循环里可能会帮你把 i++ 优化成 ++i 提高性能
#4
lyb6612019-02-02 23:16
i++是先赋后加,++i是先加后赋。例如,
 int i=1;
 cout<<i++;
 cout<<++i;
其输出结果是不一样的。
#5
w13618221912019-02-03 10:51
回复 4楼 lyb661
谢谢
#6
流照君2019-02-28 21:58
两个不一样啊
#7
花脸2019-03-01 20:25
只是一个单纯的变量在for循环内做自增时没区别,其他自定义类型时会有生成临时对象的开销
#8
CNlwy2019-03-03 14:45
回复 楼主 w1361822191
++i相比i++减少了内存的使用,编程的效率更高

#9
pseudo2019-03-05 13:15
顶四楼,说得对。
#10
pseudo2019-03-07 21:52
补充一下,++i和i++的区别是,前者在使用i之前,先使i的值加1;后者是在使用i之后,使i得值加1。
例如:i=3,printf("%d",++i)  输出为4;
         printf("%D",i++)   输出为3.
#11
yy1622019-03-10 21:12
学习了,真有用啊
#12
暮暮晓晓2019-03-16 16:32
有些 方面会说其  要区分计算其表达式 和数的值

大可不要在意  记住i++是先用i  在加i+1
                  ++i先加1, 在用写最后得数
1