读书人

请问!break 或 continue语句在嵌套

发布时间: 2012-03-05 11:54:02 作者: rapoo

请教!break 或 continue语句,在嵌套循环中的使用
请问是跳出所在循环,还是跳出最大的那个循环?
谢谢!

[解决办法]
break语句只能跳出当前层循环,请看以下的内容

bool bflag=false;//退出循环的标志
//以下的代码是要跳出最后一层循环的做法
for(....)
{
....
for(....)
{
....
for(....)
{
....
for(....)
{
....
if(bflag) break;
}
if(bflag) break;
}
if(bflag) break;
}
if(bflag) break;
}
//看来这真是够麻烦的,所以,在这种场合下,goto语句就显得直接了当,这也是goto语句一直没有被废除的原因之一,
for(....)
{
....
for(....)
{
....
for(....)
{
....
for(....)
{
....
if(bflag) goto END;
}
}
}
}
END:
[解决办法]
just try
#include <iostream>
using namespace std;

#define MAXCIRCLE 1

void main()
{
int i;
for(i=0; i <MAXCIRCLE+1;i++)
{
for(int j=0;j <MAXCIRCLE; j++)
{
cout < < "I am in the j circle! " < <endl;
cout < < "break " < <endl;
break;
}

cout < < "I am in the i circle! " < <endl;
cout < < "continue " < <endl;
continue;
// these will no be exec
cout < < "I am in the i circle,too! " < <endl;

}

cout < < "I am in the main function! " < <endl;
cin> > i;
}

读书人网 >C++

热点推荐