c语言实现编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意: 主函数中用****作为结束输入的标志
时间: 2023-12-02 10:03:37 浏览: 52
)好的,这是一个关于编程的问题,我可以回答。这里提供一种实现方式,你可以定义一个函数,接收一个字符串数组和数组长度,然后遍历数组中的每个字符串,比较长度,找到最长的字符串并记录其地址。最后通过形参指针将该串地址传回。当遇到以****结束输入的标志时,即可停止输入并进行处理。下面是该函数的实现代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
void find_max_string(char str[][MAX_LEN], int num, char **max) {
int i;
*max = str[0]; // 初始化最长串地址为数组第一个元素
for (i = 1; i < num; i++) {
if (strlen(str[i]) > strlen(*max)) {
*max = str[i]; // 更新最长串地址
}
}
}
int main() {
char str[100][MAX_LEN];
int i, num = 0;
char *max;
// 输入字符串数组,以****为结束标志
printf("请输入字符串,以****结束输入:\n");
for (i = 0; i < 100; i++) {
scanf("%s", str[i]);
if (strcmp(str[i], "****") == 0) {
break;
}
num++;
}
// 查找最长字符串
find_max_string(str, num, &max);
// 输出结果
printf("最长的字符串是:%s\n", max);
return 0;
}
```
希望这个代码能够帮到你。