c++代码
char* strcpy(char* dest,const char* src)
{
assert(src != NULL && dest != NULL);//[1]
char* destRet = dest;//[2]
while((*destRet++ = *src++) != '\0');//[3]
return destRet;
}
注意事项
[1]要进行指针有效性判断
[2]要保存原始的dest值
[3]要注意循环条件的边界处理
其他考查点
为什么要返回char*
是为了让strcpy支持链式表达式,例如:
int iLength=strlen(strcpy(strA,strB));