zzy-c

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<string.h>
#include<assert.h>
//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;
}

 

 

posted on 2022-04-10 13:40  zzy_C  阅读(35)  评论(0)    收藏  举报