提供一段C语言代码能够输入三组字符串并通过指针存储进指针数组里,在分别输出这三组字符串
时间: 2024-09-28 11:16:08 浏览: 36
当然可以,下面是一个简单的C语言代码示例,它会提示用户输入三组字符串,并将它们存储在一个指向字符数组的指针数组中。然后,程序会遍历并打印出每组字符串:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STRINGS 3
#define MAX_STRING_LENGTH 50
// 定义指针数组来存储字符串
char** stringArray;
void inputStrings() {
char* temp[3];
for (int i = 0; i < MAX_STRINGS; i++) {
printf("请输入第 %d 组字符串: ", i + 1);
fgets(temp[i], MAX_STRING_LENGTH, stdin); // 输入字符串,fgets处理换行符
temp[i][strlen(temp[i]) - 1] = '\0'; // 删除最后的换行符
// 将字符串分配给指针数组
stringArray[i] = (char*)malloc(strlen(temp[i]) + 1 * sizeof(char));
strcpy(stringArray[i], temp[i]);
}
}
void printStrings() {
for (int i = 0; i < MAX_STRINGS; i++) {
printf("第 %d 组字符串: %s\n", i + 1, stringArray[i]);
}
}
int main() {
stringArray = (char**)malloc(MAX_STRINGS * sizeof(char*)); // 分配内存给指针数组
inputStrings();
printStrings();
// 释放动态分配的内存
for (int i = 0; i < MAX_STRINGS; i++) {
free(stringArray[i]);
}
free(stringArray);
return 0;
}
```
在这个代码中,我们首先定义了一个大小为`MAX_STRINGS`的指针数组`stringArray`,然后通过`inputStrings`函数获取用户的输入并将其复制到相应的指针元素中。`printStrings`函数用于打印已存储的字符串。注意,在`main`函数结束时,需要释放之前动态分配的内存以避免内存泄漏。
阅读全文