#include<stdio.h>
#include<assert.h>
char *my_strcat(char *dest, const char *src)
{
char *ret = dest;
assert(dest != NULL);
assert(src != NULL);
while (*dest)
{
dest++;
}
while (*dest = *src)
{
dest++;
src++;
}
return ret;
}
int main()
{
char arr1[32] = "hello";
char *arr2 = "world";
printf("%s",my_strcat(arr1,arr2));
system("pause");
return 0;
}
结果:helloworld
strcat(dest,src)是把src所指字符串添加到dest结尾处(覆盖dest结尾处的‘\0’),src和dest所指内存区域不可以重叠,所以dest必须有足够的空间来容纳。最后结果返回的是指向dest的指针。