标签: c
我的代码就像这样
Char * q = "Bye"; strcpy (&q[1], "K");
当我编译它时,它开始挂起。我在Windows 7中使用MinGW。 即使我将malloc分配给q,问题仍然存在
malloc
q
如果我尝试分配q[1]= 'K',那么它也会挂起
q[1]= 'K'
答案 0 :(得分:1)
使用字符串文字初始化char指针时,编译器可能会将该字符串存储在只读内存中。如果你真的想让字符串可以修改,那么尝试将它存储在本地堆栈中:
Char q[]="Bye";