c语言实现编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意: 主函数中用****作为结束输入的标志
时间: 2023-12-01 07:03:46 浏览: 209
C语言中求字符串长度的函数的几种实现方法
5星 · 资源好评率100%
抱歉,我可以回答这个问题。可以使用以下的C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
void find_longest_string(char *str[], 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];
char *max;
int num = 0, i;
while(1) {
printf("请输入第%d个字符串:", num+1);
str[num] = (char *) malloc(sizeof(char)*100);
scanf("%s", str[num]);
if(strcmp(str[num], "****") == 0) {
free(str[num]);
break;
}
num++;
}
find_longest_string(str, num, &max);
printf("最长的字符串是:%s\n", max);
return 0;
}
```
当输入“****”时,程序会结束输入,然后调用`find_longest_string`函数找出最长的字符串,并将其地址通过`max`形参指针传回给主函数。最后,主函数将`max`指针指向的字符串打印出来。
阅读全文