使用用户插入的元素填充数组

0 c++ arrays

大家早上好.我试图用一个用户输入的元素填充一个数组; 问题是,虽然我已经在互联网上找到了答案,但它说我的代码应该可行,但事实并非如此.具体来说,计算机说我试图运行后程序停止工作,说实话,我真的不明白我犯了什么错误.代码如下:

#include <iostream>
using namespace std;

void getarray (int[],int);
void print (int[],int);

int main(){
    const int size=10;
    int n[]={0};
    getarray (n,size);
    print (n,size);
}

void getarray (int n[],const int size){
    cout<<"Insert elements to fill the array:\n";
    for (int i=0;i<size;i++){
        cin>>n[i];
    }
    cout<<"Filling completed.\n";
}
void print (int n[],const int size){
    cout<<"The inserted array is:\n";
    for (int k=0; k<size; k++)
        cout<<n[k]<<" ";
}
Run Code Online (Sandbox Code Playgroud)

仅用于获取阵列并打印它.

小智 5

问题出在你的数组声明中.

int n[]={0};

这告诉编译器你想要一个大小为1的数组,其中n [0]的元素初始化为0.一旦i大于0,你的代码就会越走越远.

int n[size];

可能就是你在这里寻找的东西.如果不清楚,请阅读http://www.cplusplus.com/doc/tutorial/arrays/