两头复制,复杂度仍然是n……
char* str_cpy(char* dest,const char* src)
{
assert(dest != NULL && src != NULL);
char *str=dest;
while (src[0] && src[1] && src[2] && src[3])
*(int*)dest++ = *(int*)src++;
while (*dest++ = *src++);//s这里写NULL;GCC会给出警告:语句无意义。
return str;
}
随便码了个,不知道对不对……