用C语言实现函数char *_memmove(char* dest, const char *src, size_t len)。_memmove函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址上。(注意重叠的情况)

Code
char *_memmove(char* dest, const char *src, size_t len)
{
    assert(src != 0 && src != 0);
    if (dest < src)
    {
        char *p = dest;
        for (size_t i = 0; i < len; i++)
            *p++ = *src++;
    }
    else if (dest > src)
    {
        char *p = dest + len - 1;
        src += len - 1;
        for (size_t i = len - 1; i >= 0; i--)
            *p-- = *src--;
    }
    return dest;
}
int main()
{
    char buf[30] = "123456789abcdef";
    cout << _memmove(buf + 5, buf, 9) << endl;
}