64,637
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <vector>
using namespace std;
int main ()
{
vector<int> ivec;
int ival;
cout<<"Enter numbers:(Ctrl+Z to end)"<<endl;
while(cin>>ival)
{
ivec.push_back(ival);
}
int *pia=new int[ivec.size()];
int *tp=pia;
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter,++tp)
{
*tp=*iter;
}
cout<<*pia<<endl;
delete[] pia;
return 0;
}
while(cin>>ival)
这个问题已经讲了很多遍了,如果输入的值大于UINT_MAX,也就是2的32次方减一 ival
超过输入的整数范围,cin>>ival失败,退出循环得到ival的初值!而楼主的ival没有
初始化即为随机值。