[問題] for迴圈的小問題...。

看板C_and_CPP作者 (多重使用者介面)時間15年前 (2010/10/28 21:58), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/4 (看更多)
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 為什麼兩次的i是不一樣的?離開迴圈的時候,又會再執行一次嗎? 希望得到的正確結果: 兩次應該都是一樣吧?迴圈的最後一次輸出和迴圈外的輸出。 程式跑出來的錯誤結果: 最後一次和後再一次的結果差1。 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++ 6、XP。 有問題的code: (請善用置底文標色功能) int main(int argc, char* argv[]) { int i = 0; for(i; i<1; ++i) { std::cout<<i<<"\n";//這邊是迴圈裡。 } std::cout<<i<<"\n";//這邊是迴圈外。 return 0; } 補充說明: 內外為什麼會差1呀?是離開for的時候,會再加一嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.56.3

10/28 22:00, , 1F
i=1<1,所以才會離開迴圈
10/28 22:00, 1F

10/28 23:19, , 2F
第一次是0 所以才執行{}裡面的東西 第二次因為i++ i=1
10/28 23:19, 2F

10/28 23:20, , 3F
才跳開for迴圈 原po應該把書看熟一點
10/28 23:20, 3F
文章代碼(AID): #1CoO64T_ (C_and_CPP)
文章代碼(AID): #1CoO64T_ (C_and_CPP)