请编写一个函数fun,它的功能是:比较两个字符串的大小,(不得调用C语言提供的字符串

2025-01-02 16:23:56
推荐回答(3个)
回答1:

#include

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);
}
}
考虑不周,但基本符合要求

回答2:

int strcmp(const char * cs,const char * ct)
{
register signed char __res;
while (1) {
if ((__res = *cs - *ct++) != 0 || !*cs++)
break;
}
return __res;
}

linux内核里的

回答3:

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:str10:str1==str2