[問題] for迴圈 和++i i++的問題

看板C_and_CPP (C/C++)作者 (waterpig)時間16年前 (2009/08/23 06:28), 編輯推噓5(506)
留言11則, 6人參與, 最新討論串1/3 (看更多)
++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++){程式區段} 兩個差別在於哪? --

08/21 09:37,
無腦生物的發言果然是跟隨無恥綠媒道聽塗說,不意外
08/21 09:37

08/21 09:39,
他最近有說看報紙才知道嗎? 少幻想了
08/21 09:39

08/21 09:41,
就是有些生物會發瘋似的跟著起舞啊! 標準的無吱
08/21 09:41

08/21 09:42,
#1AZUIm9e (Gossiping) 給repise 今天新聞 少幻想沒有
08/21 09:42

08/21 09:47,
然後呢?看報紙知道是哪裡不對?
08/21 09:47
ψWaterpig -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.42.223

08/23 06:44, , 1F
我認為,完全沒有差別。
08/23 06:44, 1F

08/23 06:46, , 2F
我也是覺得沒差才問的=_=...可是又常看到兩種寫法...
08/23 06:46, 2F

08/23 06:56, , 3F
而且是在同一本書上 一直出現兩種寫法= =...
08/23 06:56, 3F

08/23 07:22, , 4F
應該說!!在for這個例子沒差別吧~
08/23 07:22, 4F

08/23 07:40, , 5F
恩...所以是因為在for迴圈才感覺不出差別 就樣沒錯吧?
08/23 07:40, 5F

08/23 09:15, , 6F
也不能這麼說,你還是需要了解他們的差異在哪裡
08/23 09:15, 6F
他們的差異就是我一開始打的那兩行沒錯吧? 但是因為是在for的計次運算式裡 所以在for迴圈使用時沒有差異 這樣解釋ok嗎? ※ 編輯: Waterpig 來自: 118.160.42.223 (08/23 09:18)

08/23 10:04, , 7F
在你舉的例子中是沒有差別的, 試試while(i--) cout<<i;
08/23 10:04, 7F

08/23 10:05, , 8F
while(--i) cout<<i; 一般來說太複雜的運算裡面, 最好
08/23 10:05, 8F

08/23 10:06, , 9F
少用 i-- or --i
08/23 10:06, 9F

08/23 11:10, , 10F
差異是在statement裡面的優先權,在那邊當然沒有差異
08/23 11:10, 10F

08/23 12:16, , 11F
++i比i++快一點點
08/23 12:16, 11F
文章代碼(AID): #1Aa73ttf (C_and_CPP)
文章代碼(AID): #1Aa73ttf (C_and_CPP)