break是跳出for循环,而continue是只结束本次循环。
而且当程序走到break和continue后,for循环里面后面的代码就不走了。
像示例中的代码1里面,当i=3时,就break了,代码走到break后,就跳出for循环了,下一步就走cout<<"\ncontinue出现的结果"<<endl;
而不走 cout<<i<<" ";
代码1:
#include <iostream>
using namespace std;
int main(void)
{
cout<<"同样的代码只是修改break和continue,看结果!"<<endl;
cout<<"\nbreak出现的结果"<<endl;
for (int i = 0; i < 5; i++)
{
if(i==3) break;
cout<<i<<" ";
}
cout<<"\ncontinue出现的结果"<<endl;
for (int i = 0; i < 5; i++)
{
if(i==3) continue;
cout<<i<<" ";
}
return 0;
}
运行结果:
如果是多重for嵌套,则break只跳出它对应的那一层for循环,
而不是跳出整个循环,只有break在最外层for循环那里才会跳出整个for循环。continue也一样,只结束本次。
代码2:
#include <iostream>
using namespace std;
int main(void)
{
//两层for循环嵌套
cout<<"两层for循环嵌套"<<endl;
for (int i = 0; i < 8; i++){
for(int j=0;j<9;j++)
{
cout<<j<<" ";
}
cout<<endl;
}
cout<<"\nbreak出现的结果"<<endl;
for (int i = 0; i < 8; i++){
for(int j=0;j<9;j++)
{
if(j==3) break;
cout<<j<<" ";
}
cout<<endl;
}
cout<<"\ncontinue出现的结果"<<endl;
for (int i = 0; i < 8; i++){
for(int j=0;j<9;j++)
{
if(j==3) continue;
cout<<j<<" ";
}
cout<<endl;
}
return 0;
}
运行结果: