[問題] break的問題

作者: dreambegins (⊙_⊙)   2014-06-27 15:38:51
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)
作者: out99 ( )   2014-06-27 15:40:00
for的
作者: dreambegins (⊙_⊙)   2014-06-27 15:42:00
謝謝樓上
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-06-27 16:30:00
if不是repetition structure。
作者: Aztecs (scetzA)   2014-06-27 16:55:00
自己測試一次不就知道了
作者: dreambegins (⊙_⊙)   2014-06-27 16:57:00
回樓上 因為我不管加到哪裡 cout的結果都一樣所以為了避免自己鑽牛角尖...才需心請教板上的高手謝謝三樓解說觀念 :)
作者: Killercat (殺人貓™)   2014-06-27 17:06:00
...break對if是無效的喔不過隔壁java版正好有一個問題,就是兩個nested for如何在內層for條件成立時一口氣跳掉兩個for迴圈出去XD可以思考看看有沒有漂亮的方法能在C/C++作到
作者: iamstudent (stu)   2014-06-27 17:15:00
用goto呀,該用就要用
作者: diabloevagto (wi)   2014-06-27 17:31:00
try catch或是function rutern
作者: Killercat (殺人貓™)   2014-06-27 17:58:00
try catch是絕對要避免的 這東西壓根不是這意思 =o=setjmp/longjmp同理
作者: BlazarArc (Midnight Sun)   2014-06-27 18:02:00
兩層for的end條件都加上flag?
作者: steve1012 (steve)   2014-06-27 18:57:00
Goto 其實很好用
作者: lNishan (紫小霓)   2014-06-27 19:15:00
每次看到goto都會想到Apple bug XD
作者: ACMANIAC (請肥宅救救肥宅)   2014-06-27 20:09:00
如果 break 對 if 有用,那要怎麼判斷條件來決定是否要跳出 for-loop?
作者: xavier13540 (柊 四千)   2014-07-03 18:57:00
一般要跳出兩層迴圈不是都要乖乖用flag嗎

Links booklink

Contact Us: admin [ a t ] ucptt.com