如何在c语言中键盘录入一大堆字符串
时间: 2024-12-24 16:43:00 浏览: 2
在C语言中,键盘录入大量字符串通常会涉及到动态内存分配和循环处理用户输入。以下是一个简单的示例,说明如何通过`fgets()`函数从标准输入接收字符串,并存储到一个数组中:
```c
#include <stdio.h>
#include <stdlib.h> // 需要包含malloc库来动态分配内存
#define MAX_STRINGS 10 // 定义最多能录入的字符串数量
char *strings[MAX_STRINGS]; // 创建一个字符指针数组来存放字符串
int main() {
int i = 0;
while (i < MAX_STRINGS) { // 循环直到达到最大数量或用户停止输入
char input[100];
printf("请输入第 %d 个字符串(按Ctrl+D结束输入):", i + 1);
// fgets()用于读取一行字符串,包括空格和换行符
if (fgets(input, sizeof(input), stdin) == NULL || input[0] == '\n') { // 检查是否读取成功或到达换行符
break; // 如果输入结束,跳出循环
}
strings[i] = malloc(strlen(input) + 1); // 动态分配内存,存储字符串并加上null终止符
strcpy(strings[i], input); // 将输入复制到动态分配的空间
i++; // 增加计数
}
// ...后续可以对输入的字符串进行处理...
for (i = 0; i < MAX_STRINGS; i++) {
free(strings[i]); // 确保释放每个字符串占用的内存
}
return 0;
}
阅读全文