代码思想:
先直到strcat的性质,首先连接到被连接字符串的内存要足够大,足够你进行连接,否则会达不到预期效果。注意:字符串以'\0'结尾记得吧'\0'也连接过去。
这样就很容易实现了
首先:
遍历,目的字符串遍历到最后的位置,就是'\0',然后需要去连接的字符串开始进行连接:
执行语句: *dest++=*src++;
然后:
判断一下需要连接的字符串是否到'\0';然后把'\0'连接到目的字符串中,就完成了。
代码实现
#include<stdio.h>
#include<assert.h>
char* my_strcat(char* dest, char* src)
{
assert(dest != NULL);
assert(src != NULL);
char* ret = dest;
while (*dest != '\0')
{
dest++;
}
while ((*dest++ = *src++) != '\0')
{
;
}
return ret;
}
int main()
{
char arr1[21] = "abcde";
char arr2[] = "abc";
printf("%s\n", my_strcat(arr1, arr2));
return 0;
}