gpt4 book ai didi

c - 如何将长度为用户输入的数组大小?

转载 作者:行者123 更新时间:2023-11-30 21:05:01 25 4
gpt4 key购买 nike

我想通过用户输入数组长度来改进我的程序。这在 C 语言中可能吗?

这是我的代码:

int main() {
int sum = 0;
int a;
int array[a] = {};
printf("Insert length of array:\n");
scanf("%d", &a);
for (int i = 0; i < a; i++) {
printf("Insert number %d \n", i + 1);
scanf("%d", &array[i]);
}
for (int i = 0; i < a; i++) {
sum = sum + array[i];
}
printf("Sum is %d \n", sum);
return 0;
}

但是,当我尝试编译它时,它显示:错误:可变大小的对象可能未初始化

有什么可能的解决方案吗?

最佳答案

是的,在 C 语言中,你无法创建可变大小的数组,并且在此上下文中的可变大小意味着当数组的大小在编译时不恒定时,你无法创建数组。但是您可以使用指针,并且在用户输入后您可以分配适当长度的数组。

例如:

int* array;
int length;
printf("Enter length of the array: ");
scanf("%d", &length);
// maybe you need to add checking, like if length > 0
array = malloc(sizeof(int) * length);
// now you have array with `length` elements and 0..`length`-1 indexes

关于c - 如何将长度为用户输入的数组大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57204724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com