模拟实现strcmp函数
原理
- 接收两个字符串地址
- 比较两个字符串,相同返回0,不同时大于返回正数小于返回负数
头文件
#include <stdio.h>
#include <assert.h>
代码
int my_strcmp(const char *str1, const char *str2)
{
assert(str1 != NULL);
assert(str2 != NULL);
while (*str1 == *str2)
{
if (*str1 == '\0')
return 0;
str2++;
str1++;
}
return *str1-*str2;
}
int main()
{
char *p1 = "abcde";
char *p2 = "abcde";
int ret = my_strcmp(p1, p2);
printf("%d\n",ret);
return 0;
}
- 在vs平台相同为0大于为1小于为-1;
- c语言要求相同返回0,大于返回正数,小于返回负数,所以代码中直接返回差简单直接
479

被折叠的 条评论
为什么被折叠?



