C++中break的作用

如下代码:
int_fill_array ( double ar[], int limit )
{
using namespace std;
double temp;
int i;
for ( i=0; i<limit; i++)
{
cout<<"enter value #" << (i+1) << ":";
cin >> temp;
if (!cin)
{
cin.clear();
while(cin.get()!='n')
continue;
cout<<"bad input;input process terminated.\n";
break;
}
else if (temp<0)
break;
ar[i] = temp;
}
return i;
}

如上程序所示,continue和break的作用范围是什么?break退出循环是指它所在的大括号内的if 语句么?break的详细用法是什么?该函数是怎样实现功能的?困惑,求详细。

continue和break都是针对最近的那个循环起作用的,continue是结束本次循环进行下次循环。break是跳出循环。
在上面的方法中,break都是跳出for循环。continue是对while循环,意思是直到输入了n就结束本次输入。
上面的方法是让输入limit个值并存入ar数组中,在输入过程中会检查是否输入了空值或输入了负值都会跳出循环不再进行输入。
如果正确输入了,会返回输入值的个数追问

那么如果把while中的continue变成break会怎样呢?

追答

如果把while中的continue变成break:在当次输入时只要输入的字符不是N就会中止此次输入跳出while循环,然后输出错误的输入并再次遇到break跳出for循环,本方法返回

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-08
continue就不执行本次循环后面的语句,直接进入下一次循环
break也不执行本次循环后面的语句,并且跳出循环,不再执行了
continue和break都只是对于循环有效,例如:while、do-while、for,对于if等其他不是循环的都无效
上面while里面的continue,如果不是'n'就继续,直到是'n'为止
如果是break,如果不是'n'就直接跳出while循环本回答被提问者采纳
第2个回答  2015-10-21
主要功能就是退出循环,比如for循环,while循环中可以直接跳出,还有一个是continue,这个跟他不一样的地方是,它不会跳出循环,但是会结束本轮循环,进入下一轮循环。
第3个回答  2012-02-15
continue是跳过本轮循环,继续执行下一轮
break是直接结束本次循环,执行循环语句后面的语句
相似回答