函数原型:  int strcmp(const char *s1,const char * s2)

所在头文件:string.h

函数功能:对字符数组1中的字符串和字符数组2中的字符串进行比较。比较规则:按字符ASCII的大小自左向右逐个比较两个字符串的字符,直到出现不同的字符或遇到'\0'为止。若全部字符相同,则返回值为0;若串1>串2,则返回值为一个正数;若串1<串2,则返回值为一个负数。

模拟实现:

#include<stdio.h>
#include<assert.h>int my_strcmp(const char* str1, const char* str2)
{assert(str1 && str2);//比较 while(*str1 == *str2){if(*str1 == '\0' || *str2 == '\0'){return 0;//相等 }str1++;str2++;}if(*str1 > *str2){return 1;//大于 }elsereturn -1;//小于
}int main()
{char arr1[] = "abc";char arr2[] = "abb";char arr3[] = "abcd";char arr4[] = "abcd";printf("%d\n", my_strcmp(arr1, arr2));printf("%d\n", my_strcmp(arr3, arr4));printf("%d\n", my_strcmp(arr1, arr3));return 0;
} 

运行截图:

模拟实现strcmp函数相关推荐

  1. 进阶C语言------>字符函数和字符串函数------strcmp函数

    strcmp函数--比较两个字符串是否相等 库函数头文件: #include<string.h> //strcmp,比较两个字符串是否相等,如果相等返回0:如果第一个参数中的字符串大于第二 ...

  2. strcmp函数及模拟

    strcmp包含在<string.h>的头文件中,作用是比较两个字符串.将 C 字符串 str1 与 C 字符串 str2 进行比较. 1.strcmp函数的参数和返回值. 参数:是两个待 ...

  3. strcmp函数的使用与模拟实现

    strcmp函数的功能是比较两个字符串的大小,传入参数为两个字符串的首地址,返回值为int,如果第一个字符串比较大返回值大于0,两个字符串相等返回0,第一个字符串小于第二个字符串返回值小于0,比较规则 ...

  4. 详解字符串比较函数:strcmp函数及其模拟实现

    详解字符串比较函数:strcmp函数及其模拟实现!!! 对于字符串比较函数:strcmp函数,想必大家也不会感觉陌生,毕竟在之前就有过接触!虽然很少使用,但是,见面了也能认出来!只不过不太怎么使用过罢 ...

  5. strcmp函数的使用方法以及模拟

    strcmp函数是用来比较字符串大小的,但是比较的并不是字符串的长度,而是比较的是字符串的字符大小,abd就大于abcde,比较的时候是比较对应位置的字符大小. 标准规定: 1.第一个字符串大于第二个 ...

  6. C和指针之字符串简单实现strchr、strcmp函数

    1.问题 简单实现strchr.strcmp函数 2.代码实现 #include <stdio.h> #include <string.h>/** 简单模拟strchr函数 * ...

  7. 冒泡排序和qsort函数详解以及如何模拟实现qsort函数

    一.冒泡排序 冒泡排序是一种常见的排序方式,它可以把数组元素有序或无序的数组进行重新排序,并使得数组中的元素从大到小或从小到大进行排序(就像泡泡一样). 冒泡排序原理: 每次比较数组中的相邻的两个元素 ...

  8. 【c语言】模拟实现字符串函数(上)

    关关难过关关过 前路漫漫亦灿烂 今天 阿紫 就带领大家一起挑战字符串函数的模拟实现 目录 1.模拟实现strlen 1.1函数介绍 1.2函数的模拟实现 2.模拟实现strcpy 2.1函数介绍 2. ...

  9. qsort函数排序数据 and 模拟实现qosrt函数的功能(详解)

    前言:内容包括使用库函数qsort排序任意类型的数据,模拟实现qsort函数(冒泡排序的逻辑) 我们先了解qsort函数的语法:qsort函数默认按照升序排序数据 void qsort (void* ...

最新文章

  1. 计算机改名后无法上网,CDEF磁盘分区无法修改名字修复方法
  2. 在Eclipse的CDT:配置和开发Qt5工程
  3. 请说说接口和抽象类的区别?
  4. MyEclipse6.5配置反编译插件
  5. 织梦php重新安装教程,织梦CMS系统后台重装的操作教程
  6. ruby dbi mysql_Ruby DBI Read 操作 | 菜鸟教程
  7. 高德城市编码json_sql_excel 三级联动json合集
  8. 使用Tin快速安装 Apache APISIX(全网最快)
  9. kali安装网卡驱动
  10. 一只青蛙跳向三个台阶_题目描述: k一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。...
  11. 微信小程序---搜索功能并跳转搜索结果页面
  12. 数学基础知识总结 —— 7. 行列式的基本知识
  13. 云南省计算机一级b类模拟题,云南省计算机一级B模拟题.doc
  14. 【NLP】一文理解Seq2Seq
  15. 针对elementUI 中InfiniteScroll按需引入的一点注意事项
  16. java小游戏大鱼吃小鱼入门(15min写一个小游戏)
  17. Redis哨兵Sentinel的搭建和原理说明
  18. Appium-安装与入门
  19. python抖音表白软件手机版_教你用 Python 实现抖音热门表白软件
  20. mysql数据库clob类型数据_JDBC读写MySQL的BLOB和CLOB类型数据(带代码)

热门文章

  1. 【OpenCV+Qt】使用车牌识别系统EasyPR识别车牌号
  2. 微雪树莓派PICO笔记——1.基础介绍
  3. 现代控制理论——李雅普诺夫第一方法
  4. Android 12系统源码_系统壁纸(一)系统壁纸的原理分析
  5. Windows下Pycharm使用pyhive
  6. 吴恩达深度学习编程作业报错解决方法汇总
  7. 天勤数据结构笔记——第六章 树与二叉树(代码)
  8. 证据理论(3)—— 计算两个证据体的距离
  9. 数制转换(二进制、十进制、十六进制转换)
  10. 使用dos命令行启动服务