c语言数组从键盘输入n个字符串
时间: 2024-10-23 21:19:54 浏览: 50
在C语言中,你可以使用循环结构和数组来获取用户通过键盘输入的n个字符串。以下是一个简单的示例程序,它首先提示用户输入字符串的数量n,然后分配一个足够大的数组存储这些字符串:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STRINGS 10 // 假设最多能接受10个字符串
int main() {
int n;
printf("请输入要输入的字符串数量(n): ");
scanf("%d", &n); // 获取用户输入的n值
if (n > MAX_STRINGS) { // 检查输入是否超过最大限制
printf("太多字符串了!最多只能输入%d个。\n", MAX_STRINGS);
return 1; // 返回错误
}
char *strings[MAX_STRINGS]; // 创建字符指针数组来存储字符串
for (int i = 0; i < n; i++) {
strings[i] = (char*)malloc(sizeof(char) * 100); // 预留空间(假设每个字符串不超过99个字符)
if (!strings[i]) { // 如果内存分配失败
perror("Memory allocation failed");
return 1; // 错误处理
}
printf("请输入第 %d 个字符串: ", i + 1);
fgets(strings[i], sizeof(strings[i]), stdin); // 读取输入并去除换行符
strings[i][strlen(strings[i]) - 1] = '\0'; // 将结尾的'\n'替换为'\0'
}
// 现在可以对这些字符串做进一步操作...
// 在程序结束前释放所有字符串占用的内存
for (int i = 0; i < n; i++) {
free(strings[i]);
}
return 0;
}
阅读全文