编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意: 主函数中用****作为结束输入的标志)
时间: 2023-11-24 19:06:42 浏览: 171
```c
#include <stdio.h>
#include <string.h>
void findMaxString(char *strings[], int num, char **max) {
*max = strings[0]; // 假设第一个字符串为最长字符串
for (int i = 1; i < num; i++) {
if (strlen(strings[i]) > strlen(*max)) {
*max = strings[i]; // 如果当前字符串长度大于最长字符串长度,则更新最长字符串
}
}
}
int main() {
char *strings[100]; // 用指针数组存储字符串
int num = 0;
printf("请输入字符串,以****结束输入:\n");
char buffer[100];
while (1) {
scanf("%s", buffer);
if (strcmp(buffer, "****") == 0) {
break;
}
strings[num] = (char *)malloc(strlen(buffer) + 1); // 动态分配内存
strcpy(strings[num], buffer);
num++;
}
char *max;
findMaxString(strings, num, &max); // 传入指针max的地址
printf("最长的字符串是:%s\n", max);
return 0;
}
```
阅读全文