永发信息网

cin>>输入循环

答案:2  悬赏:40  手机版
解决时间 2021-05-18 09:29
  • 提问者网友:鼻尖触碰
  • 2021-05-17 14:49

#include<iostream>
#include<string>
using std::cout;
using std::string;
using std::endl;
using std::cin;
int main()
{
string word;
while(cin>>word)
cout<<word<<endl;
cout<<20<<endl;
return 0;
}

为什么要另起一行输入^Z再按两次回车键 才可以结束文件输入

如果输入abc^Z,也是按2次回车才输出abc。(输入没有结束)

本人用的是visual c++ 6.0

最佳答案
  • 五星知识达人网友:千夜
  • 2021-05-17 15:38
这是vc6的bug

vc6对iostream库及STL的实现不是很好

在较新编译器上就没问题



还有,需要另起一行输入eof的原因是cin在读到eof之前已经成功读到了字符串并存入word,那行里的^Z只会被cin当做输入结尾被忽视掉(检查eof的工作是在读入变量之前完成的)

如果另起一行输入^Z的话,cin首先就察觉到了eof,所以输入结束
全部回答
  • 1楼网友:杯酒困英雄
  • 2021-05-17 15:50

我用了你的程序在我上面弄 没什么错误啊 我也是VISUAL C++6.0 敲一下回车 就出来了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯