模拟实现strcmp

简介: 模拟实现strcmp

直接上代码

因为vs环境下 1 > 2 返回 1 ; 1 < 2 返回 -1  所以下方分成了两份

而在另外一些编译器下就可能不一样(gcc返回的就是他们的相减后的结果)

int my_strcmp(const  char * str1 , const char * str2)
{
    while(*st1 == *str2 &&  *string1 != '\0')//当遇到\0就需要停止了
    {
        str1++;
        ste2++;
    }
    return *str1 - *str2;
}
int my_strcmp(const char* string1, const char* string2)
{
  assert(string1 && string2);
  while (*string1 == *string2 && *string1 != '\0')//找到不相等的字符
  {
    string1++;
    string2++;
  }
  if ((*string1 - *string2) == 0)
    return 0;
  else
  return (*string1 - *string2)>0?1:-1; //vs环境下1大于2返回1 , 1<2 返回-1  1 = 2 返回 0
}
相关文章
|
机器学习/深度学习 人工智能 小程序
|
安全 编译器 Swift
Swift开发
Swift开发
366 9
|
机器学习/深度学习 边缘计算 人工智能
拥抱变革:我的云计算技术感悟之旅
【4月更文挑战第2天】 在信息技术不断演进的今天,云计算已成为推动企业数字化转型的重要力量。本文以个人视角切入,分享了我在学习和实践云计算过程中的技术感悟。文章不仅总结了云计算的核心优势和面临的挑战,还探讨了如何通过持续学习和实践来提升云技术水平,以及对未来云计算技术趋势的展望。
96 1
|
C语言
字符函数和字符串函数(上)
字符函数和字符串函数
133 0
|
编译器 Go
【LeetCode】剑指 Offer <二刷>(5)
【LeetCode】剑指 Offer <二刷>(5)
171 0
|
设计模式 Java
设计模式七大原则——依赖倒转原则
设计模式七大原则——依赖倒转原则
设计模式七大原则——依赖倒转原则
|
关系型数据库 MySQL 程序员
程序员之路:mysql登陆与退出
程序员之路:mysql登陆与退出
137 0
|
缓存 Kubernetes Cloud Native
带你读《云原生应用开发 Operator原理与实践》第二章 Operator 原理2.2Client-go 原理(十七)
带你读《云原生应用开发 Operator原理与实践》第二章 Operator 原理2.2Client-go 原理
|
Java 物联网 Shell
【转】TIOBE 12 月排行榜:古老的 C 和后起之秀 Kotlin,谁是年度编程语言之王?
转瞬之间,今年已进入为期不足一个月的倒计时模式。在编程语言界,谁将问鼎 2017  年度编程语言?诸多开发者众说纷纭,有人说是最近风头正盛且被纳入中国高考科目的 Python、有人认为还是老牌常青藤 Java、亦有人赞成是今年刚被 Google 拥抱的 Kotlin? 然而根据最新的 TIOBE 12 月编程语言排行榜来看,年度最佳候选人除了以上猜中的一个 Kotlin 之外,我们还发现了一个意想不到的候选人——C 语言。
2308 0