c语言如何输入变长整型数组
时间: 2024-11-22 11:48:03 浏览: 13
在 C 语言中,直接输入变长整型数组通常是不可能的,因为标准输入流(如 `scanf` 函数)并不支持动态内存分配。不过,你可以通过动态内存管理来间接实现类似的功能,比如使用循环结构让用户指定数组大小,然后为每个元素单独获取输入。
这里有一个简单的示例,展示如何通过这样的方式获取用户输入并存储在一个整数数组中:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int size;
// 获取数组大小
printf("请输入数组的长度: ");
scanf("%d", &size);
// 检查输入是否合法
if (size <= 0) {
printf("数组长度必须大于0.\n");
return 1;
}
// 动态分配内存
int* arr = malloc(size * sizeof(int));
if (arr == NULL) {
printf("内存分配失败.\n");
return 1;
}
// 循环读取每个元素
for (int i = 0; i < size; i++) {
printf("请输入第 %d 个元素: ", i + 1);
scanf("%d", &arr[i]);
}
// 使用完记得释放内存
free(arr);
printf("输入的数组为:\n");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文