在 <string.h> 里有两个函式,memcpy 和 memmove
void *memcpy (void *destination, const void *source, size_t num);
void *memmove(void *destination, const void *source, size_t num);
两者的功能都是从 source 开始,复制 num 个字节到 destination 。
两者的回传值都是 destination 。
两者的差异在于 memcpy 不允许 source 和 destination 重叠,
memmove 允许 source 和 destination 重叠。
为什么不用循环就好了呢?因为 memcpy 和 memmove 很可能比手暴循环快。
如果你 Judge Girl 46. Play with words 一直 TLE 的话,不妨试试。