输入n(n<10)个字符串,输出其中最长字符串的有效长度。要求自定义函数int max len(char*s[],int n),用于计算n个元素的指针数组s中最长的字符串长度
时间: 2024-02-09 16:10:28 浏览: 72
好的,下面是一个实现上述功能的示例代码,供您参考:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int maxlen(char* s[], int n) {
int max_len = 0;
for(int i = 0; i < n; i++) {
int len = strlen(s[i]);
if(len > max_len) {
max_len = len;
}
}
return max_len;
}
int main() {
const int n = 9;
char* s[n] = {"hello", "world", "how", "are", "you", "today", "I'm", "fine", "thank you"};
int max_len = maxlen(s, n);
cout << "The maximum length of the strings is: " << max_len << endl;
return 0;
}
```
在上述代码中,我们首先定义了一个指针数组s,其中存放了n个字符串。然后,我们定义了函数maxlen,该函数用于计算指针数组s中最长的字符串长度。在函数中,我们遍历了指针数组s中的每一个元素,然后使用strlen函数计算出该元素指向的字符串的长度。如果该长度大于当前的最大长度max_len,则更新max_len的值。最后,函数返回max_len的值。
在主函数中,我们调用了maxlen函数,并将返回的最大字符串长度输出到屏幕上。
需要注意的是,我们在定义指针数组s时,使用了字符串常量来初始化数组元素。这是因为字符串常量在程序运行时是常量,不会被修改,所以可以直接将其作为指针数组的元素。如果需要动态创建字符串,需要使用new运算符来分配内存,并将返回的指针保存到指针数组中。在使用完毕后,需要使用delete运算符释放内存。
阅读全文