[問題] 可以幫忙看一下這個無窮迴圈嗎??

看板C_and_CPP作者 (小乖)時間13年前 (2013/02/14 19:45), 編輯推噓2(204)
留言6則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) code:blocks 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 這個程式碼是想拿來做二進位轉換 (還沒寫完整) 想知道造成無窮迴圈的原因 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 片段: int main() { for(int i=0;i<8;i++) while(i) { i/=2; } } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.121.242.92

02/14 19:52, , 1F
i是同一個 ++後又去/=2 就永遠<8
02/14 19:52, 1F

02/14 19:53, , 2F
i=0;i=1;i=(1/2)=0;i++[i=1];i=(1/2)=0.....
02/14 19:53, 2F

02/14 21:13, , 3F
while(i)的寫法 只要i不是0就會判斷成立 進入迴圈後i沒
02/14 21:13, 3F

02/14 21:51, , 4F
i一直是0,可以在while內加一個cout觀察,一直重複for
02/14 21:51, 4F

02/15 16:53, , 5F
不要任意更動迴圈變數是基本常識 :(
02/15 16:53, 5F

02/18 19:12, , 6F
喔喔 感謝>< 不好意思 之前上C++太混 萬分感激
02/18 19:12, 6F
文章代碼(AID): #1H7CvktF (C_and_CPP)