字符串函数
长度不受限制
模拟实现strlen的三种方式
原型:
方式一:
//计数器方式
int my_strlen(const char*str)
{
int count = 0;
while (*str)
{
count++;
str++;
}
return count:
}
方式二:
//不能创建临时变量
int my_strlen(const char*str)
{
if (*str == '\0')
{
return 0;
}
else
{
return 1 + my_strlen(str + 1);
}
}
方式三:
//指针-指针的方式
int my_strlen(const char*str)
{
char *p = s;
while (*p != '\0')
{
p++;
}
return p - s;
}
模拟实现strcpy
原型:
//1.参数的顺序
//2.函数的功能,停止条件
//3.assert
//4.const修饰指针
//5.函数返回值
#include<assert.h>
char*my_strcpy(char* dest, const char* src)
{
char *ret = dest;
assert(dest&&src);
while(*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
char arr[20] = {
0 };
my_strcpy(arr, "hellow world");
printf("%s\n", arr);
return 0;
}
模拟实现strcat
原型:
#include <stdio.h>
#include <assert.h>
char *my_strcat