面试题:模拟实现strcat函数

来源:互联网 发布:换行业 知乎 编辑:程序博客网 时间:2024/05/29 13:18

功能:
将两个char类型连接(把src所指字符串添加到dest结尾处,覆盖结尾处的 ‘\0’)

strcat函数的特点:
目标字符串和源字符串所指的内存区域不可以重叠且目标字符串有足够的空间来容纳源字符串

#include<stdio.h>#include<stdlib.h>#include<assert.h>char *my_strcat(char *dest, const char *src){    char *ret = dest;//保存返回值    assert(dest);//断言    assert(src);//断言    while (*dest)    {        dest++;    }//先把目标字符串访问完,接下来的while循环,把源字符串连接到目标字符串最后一个字符(不是'\0')的后面。    while (*dest++ = *src++)    {        ;    }    return  ret;}int main(){    char str1[40] = "abcdef";    char str2[20] = "hahaha";       my_strcat(str1, str2);    printf("%s\n", str1);    system("pause");    return 0;}

断言不知道是什么的话,可查看上一篇文章