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