看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《ljhgc (是嚮往亦或逃避)》之銘言: : ※ 引述《ss7788159 (Stargazer)》之銘言: : : 剛剛看了某某樣本 : : 發現其中有一段: : : int i=0; : : for(i++;i++<10;i++) : : 這是什麼意思呀? : : 一般不都是用 : : for(i=0;i<10;i++)嘛? : : 懇請指教 : : 我想知道for(i++;i++<10;i++)的含意 : 那如果是展開成這樣呢... : int i = 0; : i++; \\初始值的 : while( i < 10 ) : { : i++; \\比較的 : printf("%d\n", i); : i++; \\要出來for之前的 : } 應該是 int i = 0; i++; while (i++ < 10) { // do something i++; } 才對. 你的寫法, 離開 while 的時候, i 不會再 increment 但原本的語意是, increment i 然後再用 increment 前的檢查 < 10 即是完成整個 loop 後, i 的值會大於 10 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
VictorTom:大家眼睛在比利的XD 11/18 10:45
adrianshum:比利... 球王嗎? XD 11/18 10:48
adrianshum:也不是真的在比利, 只是把 for->while 的展開做得基本 11/18 10:50
adrianshum:一點而已, 額外的語意修改還是小心一點比較好 11/18 10:50
VictorTom:XDDD 話說, 小弟還真的滿常利用loop完的index繼續後面 11/18 10:52
VictorTom:做處理或判斷loop的結果呢:) 11/18 10:52
ljhgc:您寫的東西似乎和我是一樣的...您可以在您的do something那 11/19 22:02
ljhgc:把i值印出來看 保證值會一模一樣沒差 我的寫法只是要讓原po 11/19 22:03
ljhgc:更清楚for裡面三個式子所表達的意思 11/19 22:04
ljhgc:或許是我註解寫的模糊讓您誤解了吧 11/19 22:05
ljhgc:\\比較的 ===> \\比較後的 11/19 22:06
VictorTom:不一樣, 您的在迴圈離開的時候會少一次i++....:) 11/19 22:13
VictorTom:這個小地方在後續有用離開loop的i進一步使用或做check 11/19 22:15
VictorTom:時就會有錯了; 所以小弟在5F才會這樣子推^^|| 11/19 22:15
ljhgc:我了解您的用意了 我沒想這麼後面...哈哈... 11/19 22:35