代码实现:
#include <stdio.h>
#include <assert.h>
char* My_strcpy(char* to, const char* from)
{
assert(to && from);
//strcpy的返回值为目标字符串的首地址
//因为后面我们会更改指向目标字符串首地址指针的值
//所以现在先记录下来,以便函数结束时更易返回
char* ret = to;
//当*to 与*from皆为'\0'时
//expression依然会执行,当此条执行结束
//结果为0,循环停止
while (*to++ = *from++)
{
;//循环体为空
}
return ret;
}
int main()
{
char source[20] = "This is my strcpy";
//char destination[20] = { 0 };
char destination[20] = { 0 };
My_strcpy(destination, source);
printf("%s\n", destination);
return 0;
}