爱问知识人 爱问教育 医院库

while (cin

首页

while (cin

while (cin.get() !='\n');在程序中的作用#include 
struct car { char name[20]; int year;};
int main(void)
{
using namespace std;
int n;
cout > n;
while(cin.get() != ' ') // get rid of rest of line
;
car * pc = new car [n];
int i;
for (i = 0; i > pc[i].year;
while(cin.get() != ' ') // get rid of rest of line
;
}
cout << "Here is your collection: ";
for (i = 0; i < n; i )
cout << pc[i].year << " " << pc[i].name << " ";
delete [] pc;
return 0;
}

请问程序中两个while (cin.get() !=' ');的作用,是否有别的替代办法?什么时候要用while (cin.get() !=' ');

提交回答

全部答案

    2018-05-19 04:38:42
  • 使用标准控制台输入流,用户可能会有如此的输入123AJ,当输入是给一个整型时,123后面的AJ会留在输入缓冲中,这样AJ将和后面下一次的输入一起被缓冲递交给输入处理,从而可能导致输入不合法或者出现意料外的情况,理解这个你要明白控制台标准输入输出是被缓冲的,余下就是这条语句的理解了,其实它做的就是将后面的不合法输入在缓冲中的给清理掉,为下一次输入扫清障碍。还要明白一点cin.get()是不会忽略空格和回车的,每次输入的最后你总是敲击enter以表明你的输入结束从而为上述语句总能处理成功提供保障。

    重***

    2018-05-19 04:38:42

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):