关于输入结束EOF
程序代码:#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
int sum = 0;
if(!cin.good())
{
cout<<"input bad!"<<endl;
exit(1);
}
int number;
while(1)
{
cin>>number;
if(cin.good())
{
sum += number;
}
else if(cin.eof())
{
break;
}
else
{
cin.clear();
string badtoken;
getline(cin, badtoken);
cerr<<"warning!"<<badtoken<<endl;
}
}
cout<<"sum is"<<sum<<endl;
return 0;
}为什么我需要按2次ctrl+z才能结束,以前用到EOF也遇到过类似问题,这次提出来问问,求解!





