c语言获取用户输入的数组
时间: 2024-09-25 21:11:24 浏览: 9
在C语言中,获取用户输入的数组通常涉及到动态内存分配和循环读取,因为C语言的标准库函数如scanf()并不直接支持从标准输入流读取数组。下面是一个简单的示例,展示了如何获取整数类型的数组:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_ITEMS 5 // 定义数组的最大容量
int main() {
int size, i;
// 提示用户输入数组大小
printf("请输入数组的大小(最多 %d 个元素): ", MAX_ITEMS);
scanf("%d", &size);
// 检查输入是否合法
if (size > MAX_ITEMS) {
printf("输入过大,超出数组范围,请重新输入。\n");
return 0;
}
// 动态分配内存
int* array = malloc(size * sizeof(int));
// 验证内存是否成功分配
if (!array) {
perror("Memory allocation failed");
return 1;
}
// 循环读取并存储用户输入
for (i = 0; i < size; i++) {
printf("请输入第 %d 个元素: ", i+1);
scanf("%d", &array[i]);
}
// 现在你可以操作这个数组了
// ...
// 使用完后记得释放内存
free(array);
return 0;
}
```
在这个例子中,我们首先询问用户想要多少个元素,然后为他们分配相应数量的内存,并通过循环逐个读入用户输入。当用户不再需要数组时,别忘了使用`free()`函数释放之前动态分配的内存。