简单的break问题
按我的理解,break是跳出循环的。
如一下程序
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a;
while(1)
{
cin>>a;
if(a==0)
break;
else
cout<<"帅"<<endl;
}
return 0;
}
输入a,如果a==0,跳出循环。
而今天我遇到问题了,下面的程序,用了break,不跳出for循环的。真够郁闷,兄弟们,解释下,非常感谢。
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a,i;
int b[10]={1,2,3,4,5,6,10,12,13,14};
while(1)
{
cin>>a;
for(i=0;i<10;i++)
{
if(a==b[i])
{
cout<<"帅"<<endl;
}
else
{
cout<<"没有"<<endl;
break;
}
}
}
return 0;
}
[解决办法]
break放错地方了吧
应该是==退出
[解决办法]
[解决办法]
你的break 只跳出了 for loop 但没有跳出while loop
想跳出死循环~ 则还需要break一下
[解决办法]
哥们你这是跳出for循环了,但是while没跳出,所以又进for循环了。
[解决办法]
直接return跳出最外层的循环
[解决办法]
测试过了,正常退出,只是楼主的代码逻辑上有问题,参考如下代码:
- C/C++ code
#include<iostream>using namespace std;int main(int argc, char* argv[]){ int a,i; int b[10]={1,2,3,4,5,6,10,12,13,14}; while(1) { cin>>a; for(i=0;i<10;i++) { if(a==b[i]) { cout<<"帅"<<endl; break; } } if(i==10) cout<<"没有"<<endl; } return 0;}