编写一个c语言实现输入长度不知的字符串数组
时间: 2024-03-26 22:35:30 浏览: 78
C语言中字符串的处理方式
好的,以下是一个简单的 C 语言程序,用于输入长度不确定的字符串数组:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char** arr; // 定义指向字符指针的指针
int n, i;
printf("请输入字符串数组的长度:");
scanf("%d", &n);
// 分配空间
arr = (char**)malloc(n * sizeof(char*));
// 输入字符串
for (i = 0; i < n; i++) {
char str[100];
printf("请输入第 %d 个字符串:", i+1);
scanf("%s", str);
arr[i] = (char*)malloc(strlen(str) + 1);
strcpy(arr[i], str);
}
// 输出字符串
printf("输入的字符串数组为:\n");
for (i = 0; i < n; i++) {
printf("%s\n", arr[i]);
}
// 释放空间
for (i = 0; i < n; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
在这个程序中,我们首先要求用户输入字符串数组的长度,然后我们分配了一个指向字符指针的指针 `arr`,并分配了足够的空间来存储字符串。接下来,我们使用循环来输入字符串,并使用 `malloc` 分配足够的空间来存储每个字符串。最后,我们输出输入的字符串数组,然后释放了我们分配的内存空间。
请注意,由于字符串长度不确定,因此我们使用 `malloc` 和 `free` 来动态分配和释放内存空间。
阅读全文