C语言:用指针实现字符串大小的比较,应该怎样做呢?

2025-12-16 00:35:19
推荐回答(1个)
回答1:

字符串比较,可采用循环遍历字符串,用对应位置的指针所指向的字符进行比较,当相等时,循环,遇到不等或其中一个字符串结束时,结束循环,返回对应指针的对应的字符的差值,根据差值判断两个字符串的大小:
返回值大于0,则前串大,
返回值小于0,则前串小,
返回值等于0,两个字符串相等。
参考代码:
#include
int stringcompare(char *a,char *b)
{
while( *a && *a == *b )
{
a++;
b++;
}
return *a-*b ;
}
int main()
{
int ret;
char a[10];
char b[10];
printf("请输入字符串a: ");
gets(a);
printf("请输入字符串b: ");
gets(b);
ret=stringcompare(a,b);
if ( ret > 0 )
printf("a>b\n");
else if ( ret < 0 )
printf("aelse
printf("a=b\n");
system("pause");

return 0;
}
运行结果:
请输入字符串a:
abcde
请输入字符串b:
acd
a请输入字符串a:
acd
请输入字符串b:
abcde
a>b
请输入字符串a:
abc
请输入字符串b:
abc
a=b