linux c“段错误"现象

遇到来一个段错误现象,下面自定来一个字符串复制函数,第4行如果换成字符串指针,如char * dest;,就会一直有个段错误现象,而改为字符数组后就没来了,是不是如果所字符串指针的话,相当于没分配内存,后面的操作就有问题!盼高人指点

#include<stdio.h>
char* strcp(char* strdest,const char*strsrc);
int main(void)
{
char dest[20];
char* src="hello world!";
printf("\n%s\n",strcp(dest,src));
 
}
char* strcp(char* strdest,const char*strsrc)
{  
   int n=0;
   while(*strsrc!='\0')
    {
     *strdest=*strsrc;
      strsrc++;
      strdest++;
      n++;
    }
    *strdest='\0';
   while(n--)
     strdest--;
   return strdest;
}

posted @ 2011-08-24 12:54  郭远威  阅读(305)  评论(1编辑  收藏  举报