char* Mystr(char* DestSrc,char* Str)
{
assert(DestSrc!=NULL||Str!=NULL);
char *p=DestSrc;
// 1 .while ((*DestSrc++=*Str++)!='\0');
// 2. while ((*p++=*Str++)!='\0');
return p;
}
因为2中会修改p,所以最后返回的时候p已经不是字符串开始位置了。
而1修改的是DestSrc。所以返回p可以。
事实上返回p纯属多余,因为DestSrc是用户传进来的,用户必然知道
你看strcpy的代码,无需返回