我创建了一个程序来计算4个数组元素的总和。 是否可以在程序执行期间提示用户手动填充数组元素,然后显示总和?我可以在不使用该函数的情况下执行此操作,但在使用函数时我会卡住。是否仍然可以这样做?
如果我在main函数中插入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;
}
答案 0 :(得分:0)
错误:数组类型变量的定义需要显式 大小或初始化程序 int data [];
编译器很清楚,你不能这样做:
int data[];
需要类似:
int data[SIZE];