c语言中怎么输入任意个整数,然后将它们存入一个数组?
在C语言中,可以通过以下步骤输入任意个整数,并将它们存入一个数组:
确定数组大小:首先需要确定要存储的整数个数,即数组的大小。可以选择使用动态内存分配(
malloc
函数)来处理任意数量的整数,或者预先定义一个足够大的数组大小。输入整数:使用循环结构来连续输入整数,直到用户输入结束为止。可以使用
scanf
函数进行输入。存储到数组:将每次输入的整数依次存储到数组的不同位置。
结束输入:可以约定一个特定的输入结束标记(如输入负数或者某个特定字符),或者让用户输入一个特定的结束命令。
以下是一个示例代码,展示如何实现这些步骤:
c#include <stdio.h>
#include <stdlib.h>
int main() {
int *array; // 定义指向整数的指针,用于动态分配数组
int size; // 数组大小
int i;
// 提示用户输入整数个数
printf("请输入整数个数:");
scanf("%d", &size);
// 动态分配数组空间
array = (int *)malloc(size * sizeof(int));
// 输入整数并存储到数组中
printf("请输入%d个整数,以空格或回车分隔:\n", size);
for (i = 0; i < size; ++i) {
scanf("%d", &array[i]);
}
// 打印数组中的整数(可选)
printf("您输入的整数为:");
for (i = 0; i < size; ++i) {
printf("%d ", array[i]);
}
printf("\n");
// 释放动态分配的数组空间
free(array);
return 0;
}
详细解释:
动态分配数组空间:使用
malloc(size * sizeof(int))
分配了能容纳size
个整数的空间,并将返回的指针赋给array
。输入整数并存储到数组中:通过
for
循环,从标准输入中依次读取整数,并将它们存储到数组array
的每个元素中。打印数组中的整数:为了验证输入是否正确,将数组中的整数再次打印出来。
释放动态分配的数组空间:使用
free(array)
释放动态分配的内存空间,防止内存泄漏。
通过以上步骤,你可以在C语言中实现输入任意个整数并存入数组的操作。