注意事项:
1. 判断输入参数的合法性。
2. 要有返回的参数
3. 别忘了复制字符串末尾的'\0'
4. 如果内存有重叠,则倒着复制
char* mystrcpy(char* dst, const char* src) { assert(dst != NULL); assert(src != NULL); if (dst == src) return dst; int size = strlen(src) + 1; if (dst < src || src + size <= dst) { char* d = dst; const char* s = src; while (size--) *d++ = *s++; } else { char* d = dst + size - 1; const char* s = src + size - 1; while (size--) *d-- = *s--; } return dst; }