请帮忙,我需要将一个输入的txt文件读入一个数组并打印出去,不知何故我一直收到错误消息。
#include <stdio.h>
void reading_into_array(int A[]);
#define MAXVALS 100
int
main(int argc, char *argv[]){
int numbers[100], i;
reading_into_array(numbers[MAXVALS]);
for(i = 0; i < 100; i++){
printf("%d", numbers[i]);
}
return 0;
}
/*input information*/
void
reading_into_array(int A[]){
double inp;
int n = 0;
while(scanf("%lf",&inp) == 1){
A[n++] = inp;
}
}
答案 0 :(得分:3)
numbers[MAXVALS]
超出范围且其类型与函数参数不匹配。请改用numbers
。numbers
int numbers[100]={0},i;
答案 1 :(得分:0)
调用以数组作为参数的函数时,只需提供数组的名称,例如:数字。 &#34;数字[MAXVALS]&#34;将提供此数组的MAXVALth元素的值。这有两个原因:
如果您想在数组中使用浮点数,请将数组声明为双A [MAXVAL]。
最后注意:reading_into_array函数应该检查它是否会阻止它将超过MAXVAL的数字放入数组中,否则你可能会损坏内存并使程序崩溃。