注册 登录
编程论坛 C++教室

新手菜鸟一只,敢情大侠赐教

梦里花开 发布于 2008-09-30 00:20, 573 次点击
本人C++初学
无任何编程基础
入手比较开头难
望各位看官,大侠赐教


要从多重循环深处直接跳转到最外围时,用break作退出标记

bool flag=false;
for(int i=1;i<100;++i){
  for(int j=1;j<100;++j)
     if(i*j==651){
       flag=true;
       break;
   }else{
      //....
  }
   if(flag) break;
}


我怎么看不懂这个break退出标记的作用何在呢?望详细解释下  感激不尽。。
5 回复
#2
BlueMouse2008-09-30 07:53
你只要记住 break在哪一层里!作用就是相对那一层的!
就是遇到 break就退出这层循环!
#3
梦里花开2008-09-30 08:50
谢谢,但是既然有break就可以了,为什么还要多出个变量做标记呢,还有时候标记为true?
#4
blueboy820062008-09-30 09:31
[bo][un]梦里花开[/un] 在 2008-9-30 08:50 的发言:[/bo]

谢谢,但是既然有break就可以了,为什么还要多出个变量做标记呢,还有时候标记为true?

你自然是想要在满足了一定条件时,跳出循环啦....
你不用这个flag自然能跳出去,但也就跳一次,之后呢...你如果还有别的操作呢....
引入flag不过是方便你编程罢了...
#5
梦里花开2008-09-30 11:11
当然也就是说,若以后我还想不断操作跳出的break
可以跟上面用一样的if(flag) break;语句了?
#6
blueboy820062008-09-30 11:32
当然,可以...
但你得在适当的时候改变flag的值...
要跳也的时候就flag=true
不跳时,就flag=flase
1