c语言从键盘输入6个字符串,利用二级指针找出最长的字符串
时间: 2024-12-28 21:37:50 浏览: 10
在C语言中,你可以使用二级指针(即指向指针的指针)以及循环结构来实现这个功能。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STR_LEN 100
void find_longest_string(char** arr, int size) {
char* longest = *arr;
for (int i = 1; i < size; ++i) {
if (strlen(arr[i]) > strlen(longest)) {
longest = arr[i];
}
}
printf("最长的字符串是: %s\n", longest);
}
int main() {
char str[MAX_STR_LEN][MAX_STR_LEN]; // 二维字符数组用于存储6个字符串
int count = 0;
printf("请输入6个字符串:\n");
while (count < 6) {
fgets(str[count], MAX_STR_LEN, stdin); // 从键盘读取字符串,包括换行符
str[count][strcspn(str[count], "\n")] = '\0'; // 移除换行符
if (strlen(str[count]) > 0) { // 检查是否为空
count++;
}
}
char** str_ptr = &str[0]; // 创建一级指针指向数组首元素
find_longest_string(str_ptr, count); // 调用函数查找最长字符串
return 0;
}
```
在这个程序中,`find_longest_string`函数遍历通过二级指针指向的一维字符数组,比较每个字符串的长度并更新最长字符串。主函数部分负责接收用户输入并创建二级指针。
阅读全文