#include <iostream>
using namespace std;
int main()
{
char* p=new char[10];
p="sudheer";
char* q=new char[10];
q=p;
delete []p;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的程序时,它崩溃与删除.任何意见?
是的,你正在删除字符串文字"sudheer",这足以使程序崩溃.
我认为你的错误不是理解如何复制C字符串,strcpy用于此.如果你使用new [],你必须使用delete[]not delete.你可能打算写这个程序
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char* p=new char[10];
strcpy(p,"sudheer"); // use strcpy to copy C strings
char* q=new char[10];
q=p;
delete[] p;
return 0;
}
Run Code Online (Sandbox Code Playgroud)