c++初学者代码看不懂问题是打了注释的地方求教
提问:c++初学者代码看不懂问题是打了注释的地方求教
int pd(double aa[], int n){double temp;int i;for (i = 0; i < n; i++){cin >> temp;if (!cin)//帮忙解释下 详细解释下(!cin)是什么意思{cin.clear();while (cin.get() != 'n')//帮忙解释下 详细解释下(cin.get() != 'n')是什么意思continue;//这里跳出循环 是跳到哪里去了 cout << "输入错误,正确输入:n";break;//这里跳出循环是跳到哪里去了}else if (temp < 0)break;//这里跳出循环是跳到哪里去了aa[i] = temp;}return i;}
网友回答:
int pd(double aa[], int n)
{
double temp;
int i;
for (i = 0; i < n; i++)
{
cin >> temp;
if (!cin)//(!cin)用于判断输入的类型是否合法
{
cin.clear();
while (cin.get() != 'n')//(cin.get() != 'n')用于清除合法输入后面的不合法输入
continue;//这里没有跳出循环,而是跳到了条件判断部分(cin.get() != 'n')
cout << "输入错误,正确输入:n";
break;//这里跳出循环是跳到了aa[i] = temp;这一句
}
else if (temp < 0)
break;//这里跳出循环也是跳到了aa[i] = temp;这一句
aa[i] = temp;
}
return i;
}