可能重复:
为什么在写入字符串时会出现分段错误?
char a[] = “string”; 和有什么区别?和 char *p = “字符串”;
谁能指出以下程序中的问题:
#include <stdio.h>
int main()
{
char *c = "Hello World!! !!";
char c2 = 'X';
while(c)
{
if(*c == ' ')
{
printf("%s",c);
*c = c2;
}
c++;
}
return 0;
}
它崩溃并*c = c2;
出现以下错误:
Thread [1] (Suspended : Signal : EXC_BAD_ACCESS:Could not access memory)
main() at mainclass.cpp:64 0x100000d74
我在 MAC OSX 上使用 GCC 作为编译器,在 IDE 上使用 Eclipse。