[问题] 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