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

来源:百度知道 编辑:UC知道 时间:2024/09/22 09:32:08
#include<stdio.h>
void stringcompare(char *a,char *b);
main()
{

char a[10];
char b[10];
printf("请输入字符串");
gets(a);
gets(b);
stringcompare(a,b);
printf("%s",b);
}

void stringcompare(char *a,char *b)
{ if(*a==*b)
{a++;
b++;}

}

我只能写出这种框架啦

字符串比较,可采用循环遍历字符串,用对应位置的指针所指向的字符进行比较,当相等时,循环,遇到不等或其中一个字符串结束时,结束循环,返回对应指针的对应的字符的差值,根据差值判断两个字符串的大小:

  • 返回值大于0,则前串大,

  • 返回值小于0,则前串小,

  • 返回值等于0,两个字符串相等。

参考代码:

#include<stdio.h>
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("a<b\n");
else
printf("a=b\n");
    system("pause");
   return&