******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的地址。
//先放代码,后面再写思路