循环问题...谢谢
#include<iostream>
using namespace std;
#include<string>
#include<vector>
int main()
{
string i;
vector<string>a;
while(cin>>i)
{
a.push_back(i);
}
return 0;
}
**************************************************************************************
#include<iostream>
using namespace std;
#include<vector>
int main()
{
int i;
vector<int>a;
while(cin>>i)
{
a.push_back(i);
}
return 0;
}
第二个程序可以用Ctrl+D结束循环。。。但第一个就不行。。。为什么?。。。
[解决办法]
[解决办法]
windows下面是 ctrl + z,有些系统是ctrl+d,但是你这个程序与ctrl+d无关!,第二个程序输入ctrl+d能退出完全是由于程序要求输入的是整型!(你不信输入一个非数字字符试试),而ctrl+d表示一个特殊字符!!,输入流出错而退出循环,我们直接用ctrl+z表示(EOF)退出循环即可.注意输入ctrl+z后需要输入两个回车,第一个回车表示ctrl+z输入结束(也就是一次数据输入结束),第二个回车符表示整个输入结束(控制台输入语句一般是用回车表示此次输入结束的!!)