自己模拟strcmp库函数写的功能函数my_strcmp实现strcmp的功能,完整代码

时间:2023-01-15 17:02:51
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <assert.h>

int my_strcmp(const char* pdest,const char* psrc)
{
assert(pdest!=NULL);
assert(psrc != NULL);
while (0 == (*pdest - *psrc)&&*pdest!='\0')/*当相同时,只需要判断任意一个是否为‘\0’*/
{
pdest++;
psrc++;
}
if ((*pdest - *psrc)> 0)
return 1;
else if ((*pdest - *psrc)<0)
{
return -1;
}
else
return 0;
}
int main()
{
char arr1[20] = "abcde";
char arr2[20] = "abcde";//与arr1相同
char arr3[20] = "abc";//比arr1少
char arr4[20] = "wbcde";//首元素与arr1不同
char arr5[20] = "abcdef";//比arr1多
printf("%d\n", my_strcmp(arr1, arr2));//打印0
printf("%d\n", my_strcmp(arr1, arr3));//打印1
printf("%d\n", my_strcmp(arr1, arr4));//打印-1
printf("%d\n", my_strcmp(arr1, arr5));//打印-1
system("pause");
return 0;
}