考查知识点有五处,具体如下:
//返回值char*,实现链式编程; 用const修饰src,禁止对源字符串修改
char * MyStrcpy(char *des, const char *src)
{
if (NULL == des || NULL == src) //为空判断
return NULL;
char *p1 = des;
const char *p2 = src;
while (*p1++ = *p2++)//当*p2 = '\0'时,先将'\0'拷贝给*p1,再退出循环
{
}
return des;//返回目标字符串
}
形参des由用户指定传入,当传入大小 小于 src所指向大小时,程序会挂掉。库函数strcpy也是如此,所以不用考虑目标空间大小的问题。