不一个个字符输入字符串转char二维数组 c语言
时间: 2023-12-19 20:06:15 浏览: 82
c语言版本-字符串转数组
可以使用 scanf 函数来读取字符串,并使用一个字符指针数组来存储每个字符串。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char *str[MAX_LEN]; // 定义字符指针数组
int n;
printf("请输入字符串的个数:");
scanf("%d", &n);
// 读取每个字符串并存储到字符指针数组中
for (int i = 0; i < n; i++) {
char temp[MAX_LEN];
scanf("%s", temp);
str[i] = (char*)malloc((strlen(temp)+1) * sizeof(char)); // 动态分配内存
strcpy(str[i], temp);
}
// 打印字符指针数组中的每个字符串
for (int i = 0; i < n; i++) {
printf("第 %d 个字符串是:%s\n", i+1, str[i]);
free(str[i]); // 释放内存
}
return 0;
}
```
在上面的示例中,我们首先使用 scanf 函数读取字符串的个数,然后循环读取每个字符串并将其存储到字符指针数组中。在存储字符串时,我们使用了动态内存分配来保证每个字符串都有足够的空间存储。最后,我们遍历字符指针数组并打印每个字符串,并释放动态分配的内存。
阅读全文