//求最大字符串 #include<string.h> #include<stdio.h> char¥fun(char word[][10],int n) //xx****x*beqinxxx*xxx*x**1/ 上 intnain(void) int i; charcolor[5][10] =《"red", "blue", "yellou",“green", "black"); char maxstr; maxstr=fun(color,5); for(i = 0; i < 5; i++) printf("%s\n",color[i]); printf("\nthe max is: %s\n",naxstr); return 0;
时间: 2024-02-09 13:11:26 浏览: 168
c代码-写一个函数,计算字符串 s中最大连续相同的字符个数。例如,若s 为"aaabbbb",则返回值为4;若s为"abcde",则返回值为1。int max_same_char( char* s)
5星 · 资源好评率100%
这段代码存在一些问题,首先是函数的返回类型应该为 char* 而不是 char,因为最大字符串是一个字符串而不是单个字符。其次,在函数中应该使用 strlen 函数获取字符串的长度,而不是固定的长度 10。最后,在主函数中调用函数时应该传入数组的地址而不是数组名。
下面是修改后的代码:
```
#include <stdio.h>
#include <string.h>
char* fun(char word[][10], int n) {
int max_len = 0;
char* max_str = NULL;
for (int i = 0; i < n; i++) {
int len = strlen(word[i]);
if (len > max_len) {
max_len = len;
max_str = word[i];
}
}
return max_str;
}
int main(void) {
char color[5][10] = {"red", "blue", "yellow", "green", "black"};
char* max_str = fun(color, 5);
for (int i = 0; i < 5; i++) {
printf("%s\n", color[i]);
}
printf("\nThe max is: %s\n", max_str);
return 0;
}
```
阅读全文