C 改变字符的内容*
我的代码是这样的C 改变字符的内容*,c,C,我的代码是这样的 Char * q = "Bye"; strcpy (&q[1], "K"); 当我编译它时,它开始挂起。我正在Windows 7中使用MinGW。 即使我将malloc分配给q,问题仍然存在 如果我尝试分配q[1]=“K”,那么当您使用字符串文本初始化字符指针时,它也会挂起,编译器可能会将该字符串存储在只读内存中。如果确实希望字符串可修改,请尝试将其存储在本地堆栈上: Char q[]="Bye"; 编译时可能会挂起代码的副本?您没有试图更改char*的内容。如果你
Char * q = "Bye";
strcpy (&q[1], "K");
当我编译它时,它开始挂起。我正在Windows 7中使用MinGW。
即使我将malloc
分配给q
,问题仍然存在
如果我尝试分配
q[1]=“K”
,那么当您使用字符串文本初始化字符指针时,它也会挂起,编译器可能会将该字符串存储在只读内存中。如果确实希望字符串可修改,请尝试将其存储在本地堆栈上:
Char q[]="Bye";
编译时可能会挂起代码的副本?您没有试图更改
char*
的内容。如果你是,那就是q=something代码>。实际上,您正试图更改它指向的内容,但您的代码甚至无法编译!