更改Char *的内容

时间:2015-12-12 03:11:10

标签: c

我的代码就像这样

Char * q = "Bye";
strcpy (&q[1], "K");

当我编译它时,它开始挂起。我在Windows 7中使用MinGW。 即使我将malloc分配给q,问题仍然存在

如果我尝试分配q[1]= 'K',那么它也会挂起

1 个答案:

答案 0 :(得分:1)

使用字符串文字初始化char指针时,编译器可能会将该字符串存储在只读内存中。如果你真的想让字符串可以修改,那么尝试将它存储在本地堆栈中:

Char q[]="Bye";