初学者的关于一函数的疑惑!惑惑惑啊!
下面这个函数完成填充数组的功能,数组中只能是大于零的数.函数一数有两个参数,一个是数组名、一个是数组的长度。函数返回值为实际输入的元素数目。(此函数为《C++ primer plus第四版》P179一示例)
int fill_array (double ar[],int limit)
{
double temp;
int i;
for(i=0;i<limit;i++)
{
cout<<"Enter value #"<<(i+1)<<":";
cin>>temp;
if(!cin) //(!cin)是什么啊,cin放在这起什么作用啊???(书中对此注释是:bad input)
{
cin.clear(); //cin.clear()是什么函数,是把输入值清空吗??
while(cin.get()!='\n') //cin.get()!='\n'是指输入不为换行符吗??
continue;
cout<<"Bad input;input process terminated.\n";
break; //这个break是跳出for循环吗??可为什么在if这个大括号中啊??
}
else if(temp<0)
break;
ar[i]=temp;
}
return i;
}
对于上面的一些题俺实在不懂啊,望各位大虾能帮俺答疑解惑。在此俺先谢过各位前辈高人了。