首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

strcpy自己写的实现代码有关问题

2013-03-01 
strcpy自己写的实现代码问题#include stdio.hchar * strcpy(char *s1,const char *s2)char * mystrcpy(

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; 

这个是实现代码
[解决办法]

引用:
果然给s1malloc就可以了,这是为何呀为何!s1明明有内容啊!

必须有足够可写的空间

热点排行