[問題] while 迴圈內使用 continue 的執行流程詳解

看板C_and_CPP作者 (The Gazer)時間10年前 (2013/09/14 14:58), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
剛剛用了一個continue int a=0,b=0; cin>>a; while(a<50) { if(b==2) continue; a++; b++; }; cout<<b; 這樣加入continue結果應該比沒加少1 但是這樣執行不出來 若把b的值 改成40UP 就可以執行 求 高手解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.185.201

09/14 15:03, , 1F
你真的知道continue是什麼意思?
09/14 15:03, 1F

09/14 15:13, , 2F
我看a輸入小於48 應該就infinite loop
09/14 15:13, 2F

09/14 16:05, , 3F
當b為2時跳到迴圈開頭重跑,但b值永遠不會變,所以永遠
09/14 16:05, 3F

09/14 16:05, , 4F
也跳不出迴圈
09/14 16:05, 4F

09/14 16:07, , 5F
自己試著紀錄每次迴圈有跑到哪幾行,a和b值得變化就知道
09/14 16:07, 5F

09/14 16:08, , 6F
寫while時,就要肯定你知道迴圈的結束條件會不會被觸發
09/14 16:08, 6F

09/14 16:09, , 7F
不然改用for迴圈可能好一點,可能啦
09/14 16:09, 7F
文章代碼(AID): #1ID0amFl (C_and_CPP)