我要求用户输入大小和数组,但是当我打印矢量时,它仅显示“0”作为输出

2023-12-06

我声明了一个向量并尝试输入大小和值并打印它

#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);

makes arr有尺寸s。它将有s已默认初始化为 0 的元素。然后你正在做push_back在此向量上,添加额外的将元素放入向量中。

当你打印出第一张时s元素,您没有看到从中读取的值cin,但是s声明中创建的初始值的数量arr.

要解决此问题,请在声明时不给出尺寸arr,或者只使用arr[i] = input;代替push_back()在循环。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我要求用户输入大小和数组,但是当我打印矢量时,它仅显示“0”作为输出 的相关文章

随机推荐