strcpy、strcat、memmove、memcpy等标准库函数的源码是非常常见C/C++笔试题,在会用的基础上一定要会其实现。本人是半路出家学C语言,在面试某还算大型公司时就吃了大亏。在这里分享strcat源码,并附上个人见解。
#include <stdio.h>
#include <assert.h>
char *
strcat(
char *dest,
const char *src)
{
assert(dest != NULL && src != NULL);
char *p = dest;
while(*dest)
{
dest++;
}
while(*dest++ = *src++);
return p;
}