刚刚搬完砖,来看看你这道题。一看之下,一堆吐槽啊!
首先强烈批评!为啥要把个经典的strcpy的参数顺序要搞颠倒了?看的忒不爽!
然后你这是在求教呢还是考广大网友呢?如果说有错,你怎么不把错误现象贴出来?
以我看,你这程序估计是没跑死,可能是出乱码了?
没跑死的都不是问题,你就这样安慰自己吧。
顺便说一句,那个while循环有点问题,会导致出现你不希望看到的情况,自己检查一下那个判断的边界条件。
为了让你清晰看到那个错误,不多改,在while循环后边加一句吧:
*str1 = '\0';
还有,那个printf显然是会输出乱码的。加点儿悬赏分再问吧,码农都不容易……
char* my_strcpy(char* desc,const char* src)
{
char* tmp = desc;
if(src == NULL || desc == NULL)
return NULL;
int i = 0;
while (*(desc + i) = *(src + i))
i++;
return tmp;
}