看板 C_and_CPP 關於我們 聯絡資訊
我也提供一個無限迴圈 int i,k=5; for(i=1;i<=k;i++) { cout<<"hi"; k++; } 由於壞習慣,都會先把迴圈「起點、終點」算好 所以就一直以為是5次,一直記成for(i=1;i<=5;i++) 結果c語言是每次都檢查i<=k,所以就無限迴圈啦 ※ 引述《yauhh (喲)》之銘言: : ※ 引述《OpenSkyWin (雞飛城市)》之銘言: : : 期中考居然碰到像這種for迴圈 : : int i; : : for(i=0;i=1;i++) : : { : : printf(" i is %d \n",i); : : } : : 然後問你這個迴圈總共會執行幾次= =" : : 判斷式給我放i=1咧...我咧,這什麼東西... : : 要是放0或1或a-i什麼之類的我還能懂 : : 到底這樣放有什麼意思呢?? : : 增加閱讀的困難?? : 我想這是寫程式的人自己的盲點,可能因為寫久了都看到比較普通的for迴圈寫法, : 以及認為for必須寫成有效完成一段程式的樣式. : 但是,for語法的三個位置,第一個規定進入迴圈的初值,第二個規定持續迴圈的條件, : 第三個規定迴圈前後的差異. 所以 for(i=0;i=1;i++) 不正是規定了: : - 進入迴圈時,i為0. : - 若「i能指定為1」則持續迴圈. : 結果會發現,無論什麼情況,i都能指定為1,所以是無窮迴圈嘛! : 沒有人規定程式都要寫對,也沒有人規定考卷上出現的程式都要「正確」或「有意義」. : 當有些人在抱怨考題「沒有意義」的時候,卻忘了他應考只有「在考題正確 : 的情況下不要答錯」的權力,而沒有修正考題的權力. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.56.173.56
Yshuan:沒寫過終止值變動的for迴圈... 04/24 20:40
chrisdar: \._. 我戳 for + vector 終止值就會變動了 04/24 20:53
adrianshum:應該不是無限. 當 k overflow 的時候就會停了 04/24 21:00
fetosa:推三樓 04/24 21:20
VictorTom:推3F:) 04/24 22:44
BoHann:多謝三樓 有一次在迴圈內改到終止條件,所以跟大家分享 04/24 23:46
ksmrt0123:3F果然是期中考100分的高手 04/25 02:01
MOONRAKER:如果在php就永遠不會停…因為不會overflow 04/25 05:06
MOONRAKER:會永遠stuck在0x7fffffff…前天剛看到的大bug XD 04/25 05:06
liptonbin:樓上是出題的老師 04/25 08:55
VictorTom:PHP真糟糕....(大誤XD) 04/25 11:26
MOONRAKER:那是用在上傳檔案命名的程式裡…如果不是客戶發現檔案 04/25 13:16
MOONRAKER:掉了,破口大罵,大概永遠都不會注意到這個0x7fffffff… 04/25 13:17
VictorTom:MS: 64bit的時代來了, 請用戶盡早升級Windows 8 .... XD 04/25 13:29