我声明了一个 vector ,并试图放入大小和值并打印出来
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int s;
cin>>s; //taking size of vector
vector <int> arr(s);
int input;
while (cin >> input)
{arr.push_back(input);} //inserting the values in array
for(int i=0;i<s;i++)
cout<<" "<<arr[i]; //printing the values
}
我的输入5
1 2 3 4 5
预期产量
1 2 3 4 5
电流输出
0 0 0 0 0
最佳答案
这行:
vector <int> arr(s);
使arr
的大小为s
。它将具有已默认初始化为0的s
元素。然后您在此 vector 上执行push_back
,这会将其他元素添加到 vector 中。当您打印出第一个
s
元素时,您看不到从cin
读取的值,而是看到在s
声明中创建的初始值的arr
数目。要解决此问题,要么在声明
arr
时不提供大小,要么在循环中仅使用arr[i] = input;
而不是push_back()
。
关于c++ - 我要求用户输入大小和数组,但是在打印 vector 时,它仅将 '0'显示为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62561729/