#define _CRT_SECURE_NO_WARNINGS 1
#include
#include<string.h>
#include
//1.计数器的版本
//2.递归的版本
//3.指针-指针
//int print_len(const char* arr)
//{
// int count = 0; //计数器
// assert(arr != NULL);
// while (*arr !='\0')
// {
// count++;
// arr++;
// }
// return count;
//}
char* my_strcat(char* dest,const char* src)
{
//hello_\0 arr1
//world\0 arr2
//1.找到目标字符串的\0
//2.源数据追加过去,包含\0
char* ret = dest;
assert(dest != NULL);
assert(src != NULL);
while (*dest) // \0的ASSCII码是0
{
dest++;
}
//2.源数据追加过去,包含\0
while (*dest++ = *src++)
{
;
}
return ret;//返回目标空间的起始地址
}
int main()
{
char arr1[20] = "hello \0########";
char arr2[] = "world";
char* ret = my_strcat(arr1, arr2);//字符串追加(连接)
printf("%s\n", ret);
return 0;
}