字符串函数的介绍带模拟_strcmp
前言:
本博客共分为strcmp函数的介绍和模拟实现两部分
strcmp函数的介绍及其应用:
- 专门用于比较两个字符串对应位置上字符的大小,而非长度
- strcmp的头文件是:#include <string,h>
- 提示:每段代码的注释都具有详细解释功能
strcmp的应用:
#include <stdio.h>
#include <string.h>//strcmp的头文件
int main()
{char arr1[] = "abcdef";char arr2[] = "abd";int ret = strcmp(arr1, arr2);printf("%d\n", ret);//-1---小于0的数//arr1[]和arr2[]相对应位置进行比较//前两个元素都一样“ab//第三个:arr1是c;arr2是d;//显然c<d//于是前一个数组小于第二个数组//于是乎//返回小于0的数return 0;
}
当 arr1>arr2---return 大于0的数
当 arr1<arr2---return 小于0的数
当 arr1=arr2---return 0
strcmp的模拟实现:
strcmp函数的设计:int strcmp(const char * str1,const char * str2);
思路:
格式:实现既然是模拟实现,则模拟的函数的格式一定要和原来的够像,最好一模一样。
返回值:strcmp函数是比较两个字符串大小的,前者比后者大,返回正数;后者比前者大,返回负数;二者一样大,返回0,所以设计的时候也要注意这点。
比较:strcmp函数是把两个字符串里的字符一个一个拿出来比较的,解引用可以实现得到地址指向的内容,加加循环可以实现地址不停后移,以达到后面逐个比较的目的。最后通过if语句判断比较,即可。
#include <stdio.h>
#include <assert.h>//assert头文件int my_strcmp(const char* str1, const char* str2)
{assert(str1 && str2);while (*str1 == *str2){if (*str1 == '\0'){return;}str1++;str2++;}if (*str1 > *str2)return 1;elsereturn -1;
}int main()
{char arr1[] = "abcdef";char arr2[] = "abd";int ret = my_strcmp(arr1, arr2);printf("%d\n", ret);return 0;
}
优化版:
#include <stdio.h>
#include <assert.h>//assert头文件int my_strcmp(const char* str1, const char* str2)
{assert(str1 && str2);while (*str1 == *str2){if (*str1 == '\0'){return 0;}str1++;str2++;}return *str1 - *str2;//直接解引用(ASCII码值相减)然后再相减,//若前者大返回值就大于零,反之则小于0或等于0
}int main()
{char arr1[] = "abcdef";char arr2[] = "abd";int ret = my_strcmp(arr1, arr2);printf("%d\n", ret);return 0;
}
字符串函数的介绍带模拟_strcmp相关推荐
- 字符串函数的介绍带模拟_strcpy
前言: 本博客共分为strcpy函数的介绍和模拟实现两部分 strcpy函数的介绍及其应用: strcpy是字符串拷贝 strcpy的头文件是:#include <string,h> 提示 ...
- 字符函数和字符串函数的介绍及模拟实现
在C语言中,我们对字符和字符串的使用是非常频繁的,但是C语言本身是没有提供字符串类型的,字符串通常是放在常量字符串或者字符数组中. 需要调用或者使用这一类函数,必不可少的就是要调用其头文件<st ...
- atoi函数的介绍和模拟实现
今天我来介绍atoi函数和模拟实现atoi函数. 目录 atoi和与其功能相似的函数的介绍 atoi函数的模拟实现 atoi和与其功能相似的函数的介绍 atoi函数是一个将字符串转换为整数值的函数. ...
- MySQL中字符串函数详细介绍
MySQL字符串函数对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str)返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回N ...
- 字符串 内存 函数的介绍与模拟实现
目录一览
- 【atoi函数的介绍以及模拟实现】
目录 前言 一.atoi函数测试 1. 要求 2. 测试 二.atoi函数模拟实现 三.补充 前言 位置: atoi函数包含在<stdlib.h>头文件中 作用: 将字符串转换为整形数据返 ...
- (二)字符函数和字符串函数详细讲解和模拟实现(优化)
✨✨✨✨✨✨✨✨✨
- 用c语言模拟实现常用字符串函数
目录 一.常用字符串函数介绍 1.strlen 2. strcpy 3.strcmp 4.strcat 5.strstr 二.模拟实现常用字符串函数 1.strlen 2.strcpy 3.strcm ...
- mysql 字段最右匹配_Mysql字符串处理函数详细介绍、总结 -电脑资料
一.简明总结 ASCII(char) 返回字符的ASCII码值 BIT_LENGTH(str) 返回字符串的比特长度 CONCAT(s1,s2-,sn) 将s1,s2-,sn连接成字符串 CONCAT ...
最新文章
- jQuer or js 插件aptana studio 3.4.0)教你玩转eclipse配置(全世
- 什么是CRM中间件的1250事件
- 静态原型设计 加载中_见解1:原型设计有助于填补静态设计留下的空白。
- 【数据结构与算法基础】二叉树
- 关于Spring MVC中文乱码问题的解决方法
- 手把手教你写一个java的orm(二)
- 【UOJ #351】新年的叶子(树的直径,期望)
- python笔记26-命令行传参sys.argv实际运用
- 【软件测试】基础用例篇
- 伺服电机选型时,惯量匹配和惯量比的问题
- 【边缘计算】移动边缘计算中延迟和能量约束任务卸载的最优拍卖
- 麻省理工遍地走,6年经验安卓程序员面试微软,靠这份思维脑图拿下Offer!
- 历代治国理政者的教科书——金木水火土的起源之书:周朝的统治大法——《洪范》...
- 恢复视力的方法(飞行员都用)治近视的秘方!1000度近视降到只有200
- 七牛上传图片(前台JS+后台C#API获取token)
- python的pth打开方式_pytorch 加载(.pth)格式的模型实例
- html页面导出文件大小,【实战】通过 JS 将 HTML 导出为 PDF 文档
- 网安之php开发第十四天
- 一个学习小组有5个人,每个人有三门课的考试成绩。将各个数据保存到二维数组a[5][3]中,并求全组分科的平均成绩和总平均成绩
- Mysql Table doesn't exist问题解决