码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C语言实现模拟 strcmp 字符串比较函数,实现字符串大小的比较


    完整代码:

    1. // 模拟 strcmp 字符串比较函数,实现字符串大小的比较
    2. #include<stdio.h>
    3. //strcmp函数是两个字符串自左向右逐个字符相比(按 ASCII 值大小相比较),直到出现不同的字符或遇 \0 为止,如果字符全部相等,就比较字符串长度,字符串长度也相等时,两个字符串相等
    4. #include<string.h>
    5. //传入两个指向要比较字符串的地址的指针
    6. int my_strcmp(const char *str1,const char *str2){
    7. //从左到右,用数组的方式得到字符串中的字符
    8. int i=0;
    9. //两个字符串自左向右逐个字符相比直到出现遇到\0
    10. while (str1[i]!='\0'&&str2[i]!='\0')
    11. {
    12. //字符相等时,比较下一个字符
    13. if (str1[i]==str2[i])
    14. {
    15. i++;
    16. //直接跳出这次循环,不用执行后续代码
    17. continue;
    18. }
    19. else if (str1[i]>str2[i])
    20. {
    21. //1代表大于
    22. return 1;
    23. }
    24. else if (str1[i]<str2[i])
    25. {
    26. //-1代表小于
    27. return -1;
    28. }
    29. }
    30. //当两个字符串最后一个字符同时为\0时,此时说明前面字符全部相等,并且两个字符串长度也相等
    31. if (str1[i]=='\0'&&str2[i]=='\0')
    32. {
    33. //0代表相等
    34. return 0;
    35. }
    36. //当某个字符串先出现\0,另外一个字符串不是\0,说明这个字符串的长度小于另外一个字符串,则这个字符串更小
    37. if (str1[i]=='\0')
    38. {
    39. return -1;
    40. }
    41. if (str2[i]=='\0')
    42. {
    43. return 1;
    44. }
    45. }
    46. int main()
    47. {
    48. char str1[]="abc";
    49. char str2[]="bbc";
    50. printf("%d\n",my_strcmp(str1,str2));
    51. printf("%d\n",strcmp(str1,str2));
    52. return 0;
    53. }

    运行截图:

  • 相关阅读:
    软件工程-大学体育馆管理系统用例图
    FFMPEG+Qt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频
    CAS:304014-13-9,淬灭剂QSY21 NHS ,QSY 21NHS 试剂供应
    用Python自动获取PDF图纸的图纸大小,并依此分类整理
    不同linux 比较
    ts重点学习102-自动类型推论笔记
    【牛客刷题-算法】1-算法入门-数据结构-栈
    基于JavaWeb的疫情期间社区出入管理系统设计与实现
    golang中的错误处理
    RTPEngine 通过 HTTP 获取指标的方式
  • 原文地址:https://blog.csdn.net/m0_71709382/article/details/133975093
  • 最新文章
  • C# 内存安全性的重大演进:重新定义 unsafe 关键字
    [MAF的Agent管道详解-05]对话历史的持久化和输入输出的增强
    一行代码干翻 Java 反射?EggG 流式反射调用让反射优雅到不可思议
    信息化运维项目费用测算全指南:政策边界、三大方法与实操要点
    Dify — Chatflow - 数据库智能查询
    Claude Code 实战 400 万 Tokens:接入 DeepSeek V4,从$26降到$2
    Docker--容器常用命令
    零基础认识大语言模型工作原理
    写页面时别再把 Element Plus 整个搬进来啦!Vue3按需加载的坑我帮你踩平了
    一条命令让你这辈子彻底解决"LF will be replaced by CRLF"(建议收藏)
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号