问题:帮忙解释下这段程序中一条语句的作用
int fill_array(double ar[],int limit){
double temp;
int i;
for (i = 0;i < limit;i++)
{
cout << "Sorce #" << (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;
}
这是C++ PRIMER PLUS第七章的一个例题中定义的一个函数,作用是往数组中输入数据,负数提前结束,遇到非法数据出线错误提示。
但是判断错误中这句代码我不太理解作用
while (cin.get() != '\n')
continue;
为何还要来个cin.get() != '\n'?
请高人解答!