define _CRT_SECURE_NO_WARNINGS 1
include<stdio.h>
include<string.h>
include<assert.h>
//模拟实现strcpy函数
//strcpy函数返回值是其目标空间的起始地址
//assert断言
char my_strcpy(char dest, const char* src)
{
assert(src != NULL);//断言
assert(dest != NULL);//断言
char * ret = dest;
while (*dest++ = *src++)
{
//hello的拷贝
}
return ret;
}//返回目标空间的起始地址。
int main()
{
char arr1[20] = "xxxxxxxxxxxxxxxxxxx";
char arr2[] = "hello";
//目标空间的起始地址,源空间的起始地址
printf("%s\n", my_strcpy(arr1, arr2));//链式返回
return 0;
}
//模拟字符串函数strlen
//字符串的长度不为负数用size_ t=unsigned int
size_t my_strlen(const char *str)//const 修饰代码的健壮性
{
assert(str != NULL);//空指针断言
size_t count = 0;
while (str != '\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[] = "abc";
int len = my_strlen(arr);
printf("%d", len);
return 0;
}