退出循环的n种方法

来源:互联网 发布:泸州网络问政平台app 编辑:程序博客网 时间:2024/05/22 04:39

退出循环的n种方法,你能想出几种?

1、增加变量,作为退出条件:

 

bool dobreak = false;for ( ..; !dobreak && ..; .. ) {   for ( ... ) {      if (...) {         dobreak = true;         break;      }   }}
2、使用goto:
for (;;) {    for (;;)     {        break; /* breaks inner loop */    }     for (;;)     {        goto outer; /* breaks outer loop */    }} outer:;
3、使用return:
void do_lots_of_work(void){  int i, j;  for(i=0; i<10 ; i++)  {    for(j=0;j< 10; j++)    {     ..     ..     if(disaster_struck())      return; /* Gets us out of the loops, and the function too. */    }  }}
4、嵌套if语句:
bool isTerminated = false;for (...){    if (!isTerminated)    {        for(...)        {            ...            isTerminated = true;            break;        }    }    else    {        break;    }}
5、使用子函数
for (int i = 0; i < 10; i++) {   if (timeToStop(i)) break;}-(bool) timeToStop: (int) i {    for (int j = 0; j < 10; j++) {        if (somethingBadHappens) return true;    }    return false;}
6、使用try...catch:
@try {  for() {    for() {       @throw ...    }  }}@catch{  ...}
7、使用if加额外变量:
for(i=0; i<10 && (done==false); i++)  for(j=0;j< 10; j++){     ..     ..     if(...){done=true; break;}  }
8、直接修改循环变量:
for(i=0; i<10 ; i++)  for(j=0;j< 10; j++){     ..     ..     i = 10;      break;  }