本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度。 函数接口定义: int max_len( char *s[], int n ); 其中n个字符串存储在s[]中,函数max_len应返回其中最长字符串的长度。
时间: 2024-12-23 08:27:11 浏览: 5
要实现这个`max_len`函数,你可以遍历整个指针数组`s`,同时跟踪当前找到的最长字符串的长度。这里是一个简单的C语言实现:
```c
#include <stdio.h>
#include <string.h>
int max_len(char *s[], int n) {
int max_length = 0; // 初始化最长字符串长度为0
for (int i = 0; i < n; i++) {
if (strlen(s[i]) > max_length) { // 如果当前字符串长度大于已知最长
max_length = strlen(s[i]); // 更新最长长度
}
}
return max_length; // 返回最长字符串的长度
}
// 示例用法
int main() {
char* s[] = {"abc", "defg", "hijklm", "nopqr"};
int n = sizeof(s) / sizeof(s[0]);
int longestLength = max_len(s, n);
printf("最长字符串的长度是:%d\n", longestLength);
return 0;
}
```
在这个函数中,我们首先检查每个字符串`s[i]`的长度是否大于`max_length`。如果是,则更新`max_length`。最后,函数返回找到的最大长度。
阅读全文