首页 热点资讯 义务教育 高等教育 出国留学 考研考公

编程实现比较两个字符串的大小

发布网友 发布时间:2022-04-25 17:58

我来回答

1个回答

热心网友 时间:2023-07-14 20:36

if(s1>s2)这句有问题.s1和s2不表示字符串的内容,他俩表示字符串在内存中存储的首地址,所以if(s1>s2)的意思是
如果(字符串s1的首地址大于字符串s2的首地址)
正确的应该是:
#include"stdio.h"
int
f(char
*a,char
*b)
{
while(*a&&*b)
{
if(*a>*b)
return
1;
else
if(*a<*b)
return
-1;
else
++a,++b;
}
if(*a>*b)
return
1;
else
if(*a<*b)
return
-1;
else
return
0;
}
int
main()
{
char
a[100],b[100];
while(1)
{
gets(a);
gets(b);
if(f(a,b)>0)
printf("%s
is
bigger
than
%s.\n",a,b);
else
if(f(a,b)<0)
printf("%s
is
bigger
than
%s.\n",b,a);
else
printf("%s
is
the
same
with
%s.\n",a,b);
}
return
0;
}
木有测试,不过大体思路就是这个样子,将两个字符串中的字符一个一个比较,直到结尾('\0').

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com