用简单c语言编写。编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意: 主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。)。
时间: 2024-02-21 09:57:21 浏览: 78
好的,以下是用简单的C语言编写的函数,实现在num个字符串中找出最长的一个字符串并将其地址传递给形参指针max:
```c
#include <stdio.h>
#include <string.h>
void find_longest_string(char** str_arr, int num, char** max) {
int i;
*max = str_arr[0];
for (i = 1; i < num; i++) {
if (strlen(str_arr[i]) > strlen(*max)) {
*max = str_arr[i];
}
}
}
int main() {
char* str_arr[100];
char input[100];
int num = 0;
char* max;
// 读入字符串数组
printf("请输入字符串(以****结束):\n");
while (1) {
scanf("%s", input);
if (strcmp(input, "****") == 0) {
break;
}
str_arr[num] = (char*)malloc(strlen(input) + 1);
strcpy(str_arr[num], input);
num++;
}
// 查找最长的字符串
find_longest_string(str_arr, num, &max);
// 输出结果
printf("最长的字符串是:%s\n", max);
// 释放内存
for (int i = 0; i < num; i++) {
free(str_arr[i]);
}
return 0;
}
```
注意,上述代码中使用了动态内存分配,因此需要在程序结束前手动释放内存。
阅读全文