作者Waterpig (waterpig)
看板C_and_CPP
标题[问题] for回圈 和++i i++的问题
时间Sun Aug 23 06:28:02 2009
++i 是先将i指派为i+1後再将i+1的值传出
i++ 是先传出i值 再指派i为i+1
以上我的理解应该没错吧?
我的问题在於for回圈
for回圈的流程是
┌──假──→离开回圈
│
进入回圈→设定记次变数起始值→测试条件式──真─→程式区段→更新计次变数
↑ │
│ │
└──────────────┘
这时候 for (i=0;i<=3;++i){程式区段}
和 for (i=0;i<=3;i++){程式区段}
两个差别在於哪?
--
1F:推 repise:无脑生物的发言果然是跟随无耻绿媒道听涂说,不意外08/21 09:37
2F:→ repise:他最近有说看报纸才知道吗? 少幻想了 08/21 09:39
3F:→ repise:就是有些生物会发疯似的跟着起舞啊! 标准的无吱08/21 09:41
5F:推 repise:然後呢?看报纸知道是哪里不对?08/21 09:47
ψWaterpig
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.42.223
6F:推 sjgau:我认为,完全没有差别。 08/23 06:44
7F:→ Waterpig:我也是觉得没差才问的=_=...可是又常看到两种写法... 08/23 06:46
8F:→ Waterpig:而且是在同一本书上 一直出现两种写法= =... 08/23 06:56
9F:推 blestadsl:应该说!!在for这个例子没差别吧~ 08/23 07:22
10F:→ Waterpig:恩...所以是因为在for回圈才感觉不出差别 就样没错吧? 08/23 07:40
11F:推 sjgau:也不能这麽说,你还是需要了解他们的差异在哪里 08/23 09:15
他们的差异就是我一开始打的那两行没错吧?
但是因为是在for的计次运算式里 所以在for回圈使用时没有差异
这样解释ok吗?
※ 编辑: Waterpig 来自: 118.160.42.223 (08/23 09:18)
12F:推 su31o4gj83:在你举的例子中是没有差别的, 试试while(i--) cout<<i; 08/23 10:04
13F:→ su31o4gj83:while(--i) cout<<i; 一般来说太复杂的运算里面, 最好 08/23 10:05
14F:→ su31o4gj83:少用 i-- or --i 08/23 10:06
15F:→ gwokae:差异是在statement里面的优先权,在那边当然没有差异 08/23 11:10
16F:推 h12258:++i比i++快一点点 08/23 12:16