#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<assert.h>
char *my_strcat(char* dest, const char* src)
{
assert(src != NULL && dest != NULL);
char* ret = dest;
while (*dest != '\0')/*找到dest的末尾*/
{
dest++;
}
/*在末尾追加src数据*/
while (*dest++ = *src++)
{
;
}
return ret;
}
int main()
{
/*strcat函数功能*/
char dest[10] = "abcd";
char src[] = "efg";
char *ret = my_strcat(dest, src);
printf("%s\n", dest);
printf("dest = 0x%p\n", dest);
printf("ret = 0x%p\n", ret);
return;
}
返回的地址为目的空间的地址
注意:目的地址的空间一定要足够源地址数据拷贝过去的
如果代码中写的是dest[ ] = "abcd";那程序运行时就要崩溃了!