C语言中的strcmp是怎么实现的?
其实我们可以用自己的办法重新写一个函数来实现strcmp的效果。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void Compare(char Array1[],char Array2[],int n)
{
int i;
for (i = 0; i < n; i++)
{
if (Array1[i] > Array2[i])//判断字符串1是否大于字符串2
{
printf("1\n");//大于就输出1
break;
}
else if (Array1[i] < Array2[i])//判断字符串1是否小于字符串2
{
printf("-1\n");//小于输出-1
break;
}
}
if (Array1[i] == Array2[i])//判断字符串1是否等于字符串2
printf("0\n");//等于输出0
}
int main()
{
char Array1[30];
char Array2[30];
char *p1;
char *p2;
p1 = Array1;//把Array1首地址给p1
p2 = Array2;//把Array2首地址给p2
printf("请输入第一组字符串\n");
scanf("%s",p1);//输入字符串Array1
printf("请输入第二组字符串\n");
scanf("%s", p2);//输入字符串Array2
Compare(p1,p2,30);//调用函数进行字符串大小比较
system("pause");
return 0;
}