没听说越界要报错呀,这是怎么回事?为什么会报错?
#include string.h
int main()
{
char * pChar = new char(32);
strcpy(pChar, "A");//改为*pChar = 'A';就不会报错了
delete pChar;
pCharArray = NULL;
return 0;
//vs2003 下编译无错,运行报错:DANGE after Normal block(#40) at x003707A0
}
自己的一点分析:
出错是因为strcpy(pChar, "A"); 对pChar做了字符串操作,而pChar实际是字符指针,而非字符串指针,导致pChar越界。
但没听说越界要报错呀,这是怎么回事?为什么会报错?