内存越界
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
char *p1 = "ABCABC";
char *p2 = (char *)malloc(strlen(p1));
strcpy(p2,p1);
cout << p2 << endl;
return 0;
}
// 1.strlen:不包含'\0' -------> strlen(p1) 6
// 2.strcpy:包含'\0'空字符一并拷贝的.
//紧跟的是不是'\0',没有拷贝到\0,
using namespace std;
int main()
{
char *p1 = "ABCABC";
char *p2 = (char *)malloc(strlen(p1) + 1);
strcpy(p2,p1);
cout << p2 << endl;
return 0;
}