C语言:二十 程序找错

char *p1="abcd";
char *p2=(char*)malloc(sizeof(char) * strlen(p1));
strcpy(p2,p1);
解析:p2指向空间太小了,p1指向空间实际除了abcd四个char外,还有'\0'一个char,所以应该是strlen(p)+1。

posted @ 2020-01-29 10:05  wuqi1003  阅读(179)  评论(0编辑  收藏  举报