strcpy自己写的实现代码问题
#include <stdio.h>
char * strcpy(char *s1,const char *s2);
char * mystrcpy(char *s1,const char *s2);
int main()
{
char *s2 = "hehehehehetony";
char *s1 = "";
// strcpy(s1,s2);
mystrcpy(s1,s2);
printf("%s",s1);
printf("%s",s2);
return 0;
}
char *mystrcpy(char *s1,const char *s2)
{
char *ptmp = s1;
while(*s2)
{
*s1 = *s2;
s2++;
s1++;
}
*s1 = '\0';
return ptmp;
}
调试时候走到*s1 = *s2时候有问题,请问这是为何
1,1 Top
[解决办法]
char * strcpy(char * strDest,const char * strSrc)
{
char * strDestCopy=strDest;
if ((strDest==NULL)
[解决办法]
(strSrc==NULL))
throw "Invalid argument(s)";
while ((*strDest++=*strSrc++)!='\0');
return strDestCopy;
}
这个是实现代码
[解决办法]