库函数strcmp的模拟实现
- 注意strcmp函数比较字符串大小是按着两个地址的首元素往后一个一个的比,如果不相等就直接输出结果,与字符串长度无关。
- 字符串比较的是字符对应的ASCLL值。
#include<stdio.h>
#include<string.h>
#include<assert.h>
int my_strcmp(const char* str1, const char* str2)
{
assert(str1 && str2);
while (*str1==*str2)
{
if (*str1 == '\0')
{
return 0;
}
str1++;
str2++;
}
return *str1 - *str2;
}
int main()
{
char arr1[] = "zhangsan";
char arr2[] = "lisi";
int ret = my_strcmp(arr1, arr2);
if (ret> 0)
{
printf("arr1>arr2");
}
else if (ret < 0)
{
printf("arr1<arr2");
}
else
{
printf("arr1=arr2");
}
return 0;
}
