请问该段程序的错误在哪里?

#include
#include
using namespace std;

void Get(char* p){
p=new char[100];
}

int main(){
char* s=NULL;
Get(s);
strcpy(s,"mei");
cout<<s<<endl;
return 0;
}

缺少delete来释放new分配的内存

和楼上说的一样没有用delete删除分配内存,会造成内存泄露。还有最好用C++风格写,你这样的程序是由安全隐患的(作为联系当然没什么大影响),如果读入的数据长度大于你分配的内存长度(100)会造成意外的错误。

楼上说得对,程序运行后,new出的空间无法释放