用函数打破循环?

时间:2015-03-28 17:16:56

标签: c++

void fbreak(int i){
   if(5==i)
      break;
}
void main(){
   for(int i = 0;i<10;i++){
      fbreak(i);
   }
}

我想为f循环执行fbreak break。但似乎我的代码不起作用。

3 个答案:

答案 0 :(得分:1)

实际上,您要做的是实现标头std::find中声明的标准算法std::find_if(或<algorithm>

您可以按照以下方式编写程序

bool fbreak( int i )
{
   return i == 6;
}

int main()
{
   int i = 0;

   while ( i < 10 && !fbreak( i ) ) i++;
}

考虑到函数main应具有返回类型int

答案 1 :(得分:0)

你实际上不能从功能范围这样做,但你可以轻松做到的是

bool fbreak(int i){
   return (5==i);
}
int main(){
   for(int i = 0;i<10;i++){
      if(fbreak(i)) break;
   }
}

答案 2 :(得分:0)

对代码进行非常简单的修改

void fbreak(int *i){
   if(5== *i)
      *i = 10;
}
void main(){
   for(int i = 0;i<10;i++){
      fbreak(&i);
   }
}

这会将i的值增加到10,这将导致循环中断

相关问题