介绍
本文主要是借鉴#include<string.h>头文件中strcmp()函数,strcpy()函数,strcat()函数进行仿写。实现字符串对比,字符串拷贝,字符串链接。
文中有strcmp()函数的内核代码,都详细注释了。
PS:(如果有不懂别问我了,估计我也忘了。自行理解,顶多俩小时就能理清楚顺序)。
源码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//自己写的代码
int My_Strcmp(const char *str1, const char *str2)
{
/**************************************************************************
(*str1) && (*str1 == *str2)代码解释:
1、(*str1)是为了判断字符串是否结束,因为字符串最后一位是'\0'在ASCII码中是0
2、(*str1 == *str2)判断两个字符ASCII码是否相同,相同为 1,不相同为 0
3、&&(and)解释:在while中只要上面两个任意条件为0则结束循环
***************************************************************************/
//判断字符串是否全部相同如果不相同则退出
while ((*str1) && (*str1 == *str2))
{
str1++;//此处是指针++,读取单个字符。相当于数组arr[i+1],
str2++;
}
//获取到str1 and str2记录最后一个字符在ASCII码中的数字进行对比