我创建了一个程序来计算 4 个数组元素的总和。 是否可以在程序执行期间提示用户手动填充数组元素,然后显示总和? 我可以在不使用函数时执行此操作,但在使用函数时会遇到困难。还可以这样做吗?
如果我在主函数内插入一个 for 循环,就在变量初始化之后,
int data[];
int total;
int size = sizeof(data) / sizeof(data[0]);
printf("Enter array elements: ");
for(int i=0; i<size; i++) {
scanf("%d", &data[i]);
}
编译器提示:
error: definition of the variable with array type needs an explicit size or an initializer
int data[];
^
1 error generated.
我的程序如下所示:
#include <stdio.h>
int sum(int data[], int size)
{
int sum = 0;
int i;
for (i = 0; i < size; i++)
sum += data[i];
return sum;
}
int main()
{
int data[] = { 1, 2, 3, 4 }; // I want user input here
int total;
int size = sizeof(data) / sizeof(data[0]);
total = sum(data, size);
printf("Sum is: %d\n", total);
return 0;
}
最佳答案
error: definition of the variable with array type needs an explicit size or an initializer int data[];
编译器很清楚,你不能这样做:
int data[];
需要类似的东西:
int data[SIZE];
关于c - 如何通过主函数通过用户输入来填充在函数中定义为参数的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48626277/