C语言第三十八弹--模拟实现strcmp

简介: C语言第三十八弹--模拟实现strcmp

使用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);
}
相关文章
|
5月前
|
C语言
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
【C语言基础篇】字符串处理函数(四)strcmp的介绍及模拟实现
|
5月前
|
安全 编译器 C语言
C语言学习记录——字符串相关函数及部分模拟(strcmp、strncmp、strncat、strncpy、strstr、strtok、strerror)
C语言学习记录——字符串相关函数及部分模拟(strcmp、strncmp、strncat、strncpy、strstr、strtok、strerror)
48 1
|
6月前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
6月前
|
C语言
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现2
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现
|
6月前
|
存储 C语言
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现1
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现
|
6月前
|
算法 C语言 C++
【C语言 函数解析】C语言中的strcmp函数解析以及原型实现
【C语言 函数解析】C语言中的strcmp函数解析以及原型实现
349 0
|
编译器 C语言
【C语言进阶】字符函数及字符串函数,带你掌握核心用法并模拟实现(1)——strlen,strcpy,strcmp
【C语言进阶】字符函数及字符串函数,带你掌握核心用法并模拟实现(1)——strlen,strcpy,strcmp
150 1
|
C语言
【C语言进阶】-- 重点字符串函数内存函数及其模拟实现(strlen,strcmp,strcat...memcpy,memmove)
【C语言进阶】-- 重点字符串函数内存函数及其模拟实现(strlen,strcmp,strcat...memcpy,memmove)
|
编译器 Linux C语言
【C语言】字符串函数的介绍二( strcmp、strncpy、strncat、strncmp)
【C语言】字符串函数的介绍二( strcmp、strncpy、strncat、strncmp)
138 0