[問題] break的問題

看板C_and_CPP (C/C++)作者 ( ′-`)時間11年前 (2014/06/27 15:38), 11年前編輯推噓6(7114)
留言22則, 12人參與, 最新討論串2/6 (看更多)
for(int r=0; r<100; r++){ if(cache[index][r].v && cache[index][r].tag==tag){ cache[index][r].v=true; cache[index][r].hit_count++; enable_instructions[access]=2; stillAccessing=false;cout <<"(hit)"; break; } } 有點搞不清楚...虛心請教一下... 我想請問...以上的for()預設是執行100次 假設我在第55次的時候if()的條件成立了,然後第56~100次的for loop就不做了 那我的break放這裡對嗎? break是跳出if這個{}還是會跳出for的{} ?(我想要跳出整個for) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.136.220 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1403854733.A.756.html ※ 編輯: dreambegins (140.113.136.220), 06/27/2014 15:39:47

06/27 15:40, , 1F
for的
06/27 15:40, 1F

06/27 15:42, , 2F
謝謝樓上
06/27 15:42, 2F

06/27 16:30, , 3F
if不是repetition structure。
06/27 16:30, 3F

06/27 16:55, , 4F
自己測試一次不就知道了
06/27 16:55, 4F

06/27 16:57, , 5F
回樓上 因為我不管加到哪裡 cout的結果都一樣
06/27 16:57, 5F

06/27 16:57, , 6F
所以為了避免自己鑽牛角尖...才需心請教板上的高手
06/27 16:57, 6F

06/27 16:58, , 7F
謝謝三樓解說觀念 :)
06/27 16:58, 7F

06/27 17:06, , 8F
...break對if是無效的喔
06/27 17:06, 8F

06/27 17:07, , 9F
不過隔壁java版正好有一個問題,就是兩個nested for
06/27 17:07, 9F

06/27 17:07, , 10F
如何在內層for條件成立時一口氣跳掉兩個for迴圈出去XD
06/27 17:07, 10F

06/27 17:08, , 11F
可以思考看看有沒有漂亮的方法能在C/C++作到
06/27 17:08, 11F

06/27 17:15, , 12F
用goto呀,該用就要用
06/27 17:15, 12F

06/27 17:31, , 13F
try catch
06/27 17:31, 13F

06/27 17:32, , 14F
或是function rutern
06/27 17:32, 14F

06/27 17:58, , 15F
try catch是絕對要避免的 這東西壓根不是這意思 =o=
06/27 17:58, 15F

06/27 17:59, , 16F
setjmp/longjmp同理
06/27 17:59, 16F

06/27 18:02, , 17F
兩層for的end條件都加上flag?
06/27 18:02, 17F

06/27 18:57, , 18F
Goto 其實很好用
06/27 18:57, 18F

06/27 19:15, , 19F
每次看到goto都會想到Apple bug XD
06/27 19:15, 19F

06/27 20:09, , 20F
如果 break 對 if 有用,那要怎麼判斷條件來決定是否要
06/27 20:09, 20F

06/27 20:09, , 21F
跳出 for-loop?
06/27 20:09, 21F

07/03 18:57, , 22F
一般要跳出兩層迴圈不是都要乖乖用flag嗎
07/03 18:57, 22F
文章代碼(AID): #1JhH-DTM (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1JhH-DTM (C_and_CPP)