c语言字符大小比较
㈠ c语言:用指针实现字符串大小的比较,应该怎样做呢
字符串比较,可采用循环遍历字符串,用对应位置的指针所指向的字符进行比较,当相等时,循环,遇到不等或其中一个字符串结束时,结束循环,返回对应指针的对应的字符的差值,根据差值判断两个字符串的大小:
返回值大于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 0;
}
运行结果:
请输入字符串a:
abcde
请输入字符串b:
acd
a<b
请输入字符串a:
acd
请输入字符串b:
abcde
a>b
请输入字符串a:
abc
请输入字符串b:
abc
a=b
㈡ 编写一个C语言函数,比较两个字符串的大小
#include<stdio.h>
#define N 100
int input(char*a,char*b)//输入两个字符串
{
printf("Input the first information: ");
fgets(a,N,stdin);
printf("Input the secend information: ");
fgets(b,N,stdin);
}
int my_strcmp(char*a,char*b)//比较字符串每个字符的大小
{
while((*a!='