我就分配了这么点空间,为什么能够装修strS这么多的char字符?
#include <iostream>
using std::cout;
using std::endl;
char* strcpy1(char* strDest, const char* strSrc)
{
int i = 0;
if((strDest == NULL)||(strSrc == NULL))
{
throw "Invalid argument";
}
char *strReturn = strDest;
while((*strDest++ = *strSrc++) != '\0');
return strReturn;
}
int main()
{
char* strD = new char[5];//这里,我就分配了这么点空间,为什么能够装修strS这么多的char字符?
const char* strS = "Let the skyfall,when it crumbles.";
char* result = strcpy1(strD,strS);
cout<<"The result is: "<< result <<endl;
}
输出的结果没问题,请大侠讲一讲?