C语言模拟实现strlen,strcmp,strcat,strcpy,strstr函数

******my_strlen

首先要实现自己的strlen(str1,str2)函数就要知道strlen函数是如何工作的。当我们创建一个字符串之后在内存中是这样的。

当把字符串首元首的地址传给strlen函数时,strlen变会判断这个字符是不是“0”,如果不是那就向后找,如果是那就代表字符串结束。在自己写的my_strlen函数中我们可以用计数器或者递归的方式来实现。

下面是递归的方式,思路和上面的一样。 

******my_strcmp

strcmp(str1,str2)函数在比较两个字符串时不是比较长度,而是比较从左到右比较每个字母的ASCii码值,如果先出现了str1比str2的ASCii码大的字符着返回一个大于0的数字,反之返回小于0的数字。如果相同则返回0。如下图

下面是实现的代码

******my_strcat

strcat(str1,str2)函数的作用是把str2拼接在str1上。将str1和str2传给strcat函数时,函数会先找到str1结尾‘\0’的位置,再把str2的内容从头到尾抄到str1上。并且返回str1首元首的地址。

******my_strcpy

strcpy(str1,str2),就是把str1的内容拷贝到str2中。两个地址同时往后走并把str1的内容给str2直到str1结束即可。

******my_strstr

strstr(str1,str2)函数用于查找str2在str1出现的位子,返回值为str1首次出现str2的地址。

//先放代码,后面再写思路

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值