strcpy函数是字符串操作函数,用来字符串复制,把一个字符串的内容复制到另一个字符串中。
src称为源字符串,dst称为目的操作串。
函数实现如下:
char * my_strcpy(char* dst,const char * src) //[1]
{
assert(dst != NULL && src != NULL)//[2]
char * = ret; //[3]
while (*dst++ = *src++ != '\0')//[4]
NULL;
return ret;
}
[1]src为源字符串,不可改变,故用const修饰;
[2]指针判断是否为空,保证代码的健壮性;
[3]要保存原来dst地址,因为要返回ret,输出复制之后的字符串。
[4]进行字符串的复制,判断条件写成while (*dst++ = *src++)明显错误;
写成while (*src !=’\0’)
{
*dsr++ = *src++;
}
最后一个‘\0’没有放进去,也是错误;需要在后面加一个 *dst = ‘\0’,才正确。
以上几点都是my_strcpy必不可少的点,是面试官最喜欢考察的点,希望大家能注意。