C语言-动态内存分配、指针数组、指向指针变量的指针变量:找最大的字符串
Description
后台已有main函数(会自动添加到你的代码之后),代码如下。其功能是能从键盘输入4个字符串,然后由被调函数找到最大字符串(按字典顺序最大)的位置,主函数将它输出
int main()
{
char p[4],q;
int i;
for(i=0;i<=3;i++) {
p[i]=(char *)malloc(21);
gets(p[i]);
}
q=search(p,4);
puts(q);
for(i=0;i<=3;i++)
free(p[i]);
return 0;
}
请你编写被调函数search(),其功能是能找到最大字符串的位置。
Input
输入四个字符串
Output
输出最大的字符串
Sample Input
abc
I am a boy.
world cup
Hello
Sample Output
world cup
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *search(char **p,int n){
int i;
char *t,max[100]={0};
strcpy(max,p[0]);
for(i=0;i<n;i++){
if(strcmp(max,p[i])<=0){
strcpy(max,p[i]);
t=p[i];
}
}
return t;
}
int main()
{
char *p[4],*q;
int i;
for(i=0;i<=3;i++) {
p[i]=(char *)malloc(21);
gets(p[i]);
}
q=search(p,4);
puts(q);
for(i=0;i<=3;i++)
free(p[i]);
return 0;
}