使用C语言模拟实现strcmp
strcmp 比较两个字符串大小 底层实现:int strcmp(const char* str1,const char* str2)
思路:了解strcmp作用是比较字符串大小,那么就要分三种情况,大,小,相等。然后分别进行处理。比较方法根据实现了解是使用指针进行比较。
代码如下:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int my_strcmp(const char* s1, const char* s2) { assert(s1 && s2);//断言 while (*s1 == *s2)//字符相同情况 { if (*s1 == '\0')//符合while条件只要其中一个是'\0'证明两个都已经比较完成 { return 0; } s1++; s2++; } if (*s1 > *s2)//*s1 > *s2 { return 1; //return *s1 - *s2; } else//其它情况 { return -1; //return *s1 - *s2; } //简洁写法 return *s1-*s2 缺点:返回值是随机值 } int main() { int ret=my_strcmp("abcde", "abcd"); printf("%d\n",ret); }