C语言 如何通过主函数的用户输入来填充在函数中定义为参数的数组



>我创建了一个程序来计算 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: %dn", total);
    return 0;
}

错误:数组类型的变量定义需要显式 大小或初始值设定项 int data[];

编译器很清楚,你不能这样做:

int data[];

需要类似的东西:

int data[SIZE];

相关内容

  • 没有找到相关文章

最新更新