#include
#include
void main()
{
char* p4;
char* p1;
char* copy(char* p2);
char str1[10];
gets(str1);
p1 = str1;
p4=copy(p1);
printf("%s",p4);
}
char* copy(char* p2)
{
char *p3;
char str2[10];
strcpy(str2, p2);
p3 = str2;
return p3;
}
//我这里怎么也搞不清楚错在哪,望解答,谢谢
不好意思,没C币了 T T
问题出在你的copy方法,return 后,str2被回收,试改成这样,存在一问题是内存要及时回收,这样的copy函数几乎没有什么意义,本身有C语言的strcpy且好用,没有必要再封装一次
char* copy(char* p2)
{
char *str2= new char[10];
strcpy(str2, p2);
return str2;
}
你是想复制一个字符串到另外一个字符串么?