请编写一个函数fun,它的功能是:比较两个字符串的大小

请编写一个函数fun,它的功能是:比较两个字符串的大小,(不得调用C语言提供的字符串比较函数strcmp()),函数返回较大字符串。若两个字符串相同,则返回第一个字符串。... 请编写一个函数fun,它的功能是:比较两个字符串的大小,(不得调用C语言提供的字符串比较函数strcmp()),函数返回较大字符串。若两个字符串相同,则返回第一个字符串。例如,输入:abc abd,函数将返回abd。 展开
 我来答
763401802
2012-06-02 · TA获得超过504个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:126万
展开全部
#include<stdio.h>
char *fun(char* str1,char *str2)
{
int i = 0;
for(;;i++) /*for循环比较*/
{
/*如果循环到 i ,两个字符串都是'\0',说明两字符串相等,返回第一个字符串*/
if((str1[i] == '\0')&&(str2[i] == '\0'))return str1;
/*如果第一个字符串先结束, 说明第二个字符串比第一个长,返回第二个字符串*/
else if(str1[i] == '\0')return str2;
/*如果第二个字符串先结束, 说明第一个字符串比第二个长,返回第一个字符串*/
else if(str2[i] == '\0')return str1;
/*如果两个字符串都没有结束,则比较当前字符的大小*/
else
{
if(str1[i] > str2[i])return str1;/*当前字符第一个比第二个大,返回第一个字符串*/
if(str1[i] < str2[i])return str2;/*当前字符第一个比第二个小,返回第二个字符串*/
}
}
}
int main(void)
{
char a[] = "abd";
char b[] = "abc";
char c[] = "abc";
char d[] = "ab";
printf("abd和abc比较:");
puts(fun(a,b));
printf("abc和ab比较 :");
puts(fun(b,d));
printf("abc和abc比较:");
puts(fun(b,c));
return 0;
}
天天向上李亚飞
推荐于2018-04-19 · 学习——就要天天向上!
天天向上李亚飞
采纳数:540 获赞数:3878

向TA提问 私信TA
展开全部
char * fun( char *a,char *b )
{ while( *a || *b || *a==*b )
a++,b++;
if( *a-*b >=0 )
return a;
else
return b;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式