请编写一个函数fun,它的功能是:比较两个字符串的大小,(不得调用C语言提供的字符串 5
3个回答
展开全部
#include<stdio.h>
int fun(char a,char b)/*判断每一字母大小*/
{
if(a>b)
return 1;
else if(a==b)
return 0;
else
return -1;
}
main()
{ int i,n,r;
char a[40],b[40];
printf("输入第一个字符串:\n");
gets(a);
printf("输入第二个字符串:\n");
gets(b);
for(i=0;i<40;i++)
{ r=fun(a[i],b[i]);
if(r!=0)
break;
}
if(r==1)/*有返回值判断字符串大小*/
{
printf("较大字符串是:");
puts(a);
}
else if(r==-1||0)
{
printf("较大字符串是:");
puts(b);
}
}
考虑不周,但基本符合要求
int fun(char a,char b)/*判断每一字母大小*/
{
if(a>b)
return 1;
else if(a==b)
return 0;
else
return -1;
}
main()
{ int i,n,r;
char a[40],b[40];
printf("输入第一个字符串:\n");
gets(a);
printf("输入第二个字符串:\n");
gets(b);
for(i=0;i<40;i++)
{ r=fun(a[i],b[i]);
if(r!=0)
break;
}
if(r==1)/*有返回值判断字符串大小*/
{
printf("较大字符串是:");
puts(a);
}
else if(r==-1||0)
{
printf("较大字符串是:");
puts(b);
}
}
考虑不周,但基本符合要求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int strcmp(const char * cs,const char * ct)
{
register signed char __res;
while (1) {
if ((__res = *cs - *ct++) != 0 || !*cs++)
break;
}
return __res;
}
linux内核里的
{
register signed char __res;
while (1) {
if ((__res = *cs - *ct++) != 0 || !*cs++)
break;
}
return __res;
}
linux内核里的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int fun(char *str1, char *str2)
{
while(str1 != '\0' && str2 != '\0')
{
if(*str1 > *str2)
return 1;
else
return -1;
str1++;
str2++;
}
if(*str1)
return 1;
else if(*str2)
return -1;
else
return 0;
}
1:str1>str2
-1:str1<str2
0:str1==str2
{
while(str1 != '\0' && str2 != '\0')
{
if(*str1 > *str2)
return 1;
else
return -1;
str1++;
str2++;
}
if(*str1)
return 1;
else if(*str2)
return -1;
else
return 0;
}
1:str1>str2
-1:str1<str2
0:str1==str2
追问
有简单一点的吗?
追答
这个还不够简单吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询