请教!break 或 continue语句,在嵌套循环中的使用

时间:2023-02-19 15:12:26
请问是跳出所在循环,还是跳出最大的那个循环?
谢谢!

15 个解决方案

#1


只跳出所在循环。

#2


break 跳出当前循环
continue 你可以理解为直接跳到当前循环的最后

#3


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:

#4


continue语句的意思是,放弃当前循环中continue后面的语句,而继续进行当前循环的下一次循环,它跳不出当前循环.

#5


continue和break只影响离它最近的那个循环for或者while,跟if无关。

#6


跳出所在循环.一次只跳一层.

#7


break       跳出最近的那个循环
continue    继续最近的那个循环的下一次运算

#8


都是针对当前循环:
break       跳出当前循环
continue    不执行continue之后的语句,然后再回到下一次循环.

#9


学到了~谢谢楼主和楼上各位

#10


continue 可以理解为跳出本次循环,接着下一次循环
break  可以理解为跳出当前循环
楼主应该多看看基础知识啊


#11


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;
}

#12


可不可以像java 一样?
for(int i=0; i<100; i++)
label1: {
  for(int j=0; j<200; j++){
     if(...)
       break lable_1;
  }
}

#13


可不可以像java 一样?
for(int i=0; i<100; i++)
label1: {
  for(int j=0; j<200; j++){
     if(...)
       break lable_1;
  }
}
------------------------------------------------------------------------------------
goto?

#14


跳出break或continue所在的最内层的那个循环

#15


把多层循环提出写到一个函数中,需要的时候直接return。

#1


只跳出所在循环。

#2


break 跳出当前循环
continue 你可以理解为直接跳到当前循环的最后

#3


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:

#4


continue语句的意思是,放弃当前循环中continue后面的语句,而继续进行当前循环的下一次循环,它跳不出当前循环.

#5


continue和break只影响离它最近的那个循环for或者while,跟if无关。

#6


跳出所在循环.一次只跳一层.

#7


break       跳出最近的那个循环
continue    继续最近的那个循环的下一次运算

#8


都是针对当前循环:
break       跳出当前循环
continue    不执行continue之后的语句,然后再回到下一次循环.

#9


学到了~谢谢楼主和楼上各位

#10


continue 可以理解为跳出本次循环,接着下一次循环
break  可以理解为跳出当前循环
楼主应该多看看基础知识啊


#11


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;
}

#12


可不可以像java 一样?
for(int i=0; i<100; i++)
label1: {
  for(int j=0; j<200; j++){
     if(...)
       break lable_1;
  }
}

#13


可不可以像java 一样?
for(int i=0; i<100; i++)
label1: {
  for(int j=0; j<200; j++){
     if(...)
       break lable_1;
  }
}
------------------------------------------------------------------------------------
goto?

#14


跳出break或continue所在的最内层的那个循环

#15


把多层循环提出写到一个函数中,需要的时候直接return。