实现strcat函数

xiaoxiao2021-02-28  41

了解strcat函数函数功能:

(1)函数原型:char *strcat(char *dest, const char *src);

(2)函数功能:dest 为目的字符串指针,src 为源字符串指针。strcat() 会将参数 src 字符串复制到参数 dest 所指的字符串尾部;dest 最后的结束字符 NULL 会被覆盖掉,并在连接后的字符串的尾部再增加一个 NULL。

注意:dest 与 src 所指的内存空间不能重叠,且 dest 要有足够的空间来容纳要复制的字符串。

(百度百科)

自己实现代码:

#include <stdio.h> #include <assert.h> char* MyStrcat(char *des, const char *src) { assert(des != NULL && src != NULL); //断言两个字符串不为空 char *temp = des; //指针temp指向des字符串内存地址 while (*temp != '\0') //如果temp指针没有遇见'\0' temp++; //temp++ while ((*temp++ = *src++) != '\0'); //实现循环拷贝,当src为'\0'时结束 return des; //返回des值 } int main() { const int a = 100; a = 20; char str1[10] = "abc"; char str2[] = "bcd"; char* str3 = MyStrcat(str1, str2); printf("str1=%s\n", str1); printf("str2=%s\n", str2); printf("str3=%s\n", str3); return 0; }

运行结果:

str1=abcbcdstr2=bcdstr3=abcbcd

转载请注明原文地址: https://www.6miu.com/read-2621886.html

最新回复(0)