编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意: 主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。)
时间: 2024-02-03 17:13:25 浏览: 59
以下是一个可能的实现:
```c
#include <stdio.h>
#include <string.h>
void find_longest_string(char **strs, int num, char **max) {
*max = strs[0];
for (int i = 1; i < num; i++) {
if (strlen(strs[i]) > strlen(*max)) {
*max = strs[i];
}
}
}
int main() {
char *strs[] = {"hello", "world", "this", "is", "a", "test", "*****"};
char *max;
find_longest_string(strs, 7, &max);
printf("The longest string is: %s\n", max);
return 0;
}
```
函数 `find_longest_string` 接受一个字符串指针数组和数组长度作为参数,以及一个指向指针的指针 `max`。它遍历数组中的所有字符串,找到最长的一个,并将其地址存储在 `max` 指向的位置。主函数中声明了一个字符串指针 `max`,并将其传递给 `find_longest_string` 函数。最终,主函数输出找到的最长字符串。注意,字符串数组最后一个元素必须是 `*****`,以标志输入结束。
相关问题
编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址
好的,这是一个编程问题,我可以回答。以下是函数的代码:
```c
void findLongestString(char** strings, int num, char** max) {
*max = strings[];
for (int i = 1; i < num; i++) {
if (strlen(strings[i]) > strlen(*max)) {
*max = strings[i];
}
}
}
```
这个函数接受一个字符串数组和数组长度作为参数,然后通过指针max返回最长的字符串的地址。
编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。
void findLongestString(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];
}
}
}
阅读全文