请教一个内存分配上的问题
程序代码:
#include <iostream> using namespace std; int main() { char string[]={"ABCDE"}; char *p; char *q; p=string; while( *p != '\0' ) p++; p--; q=string; char *temp=new char; for(;q<=p;q++,p--) { *temp=*p; *p=*q; *q=*temp; } cout<<string<<endl; // reverse_string(string); cout<<string<<endl; return 0; }
以上是我临时写的一个反向排列字符串的小程序 但是 一旦在开头初始化char *string="ABCDE"的时候就会出现问题 调试发现在*p=*q那一步无法写入
请教下原因?