可能重复:
为什么会出现此段错误?
char a[] = “string”; 和有什么区别?和 char *p = “字符串”;
试图理解为什么 s[0]='H' 失败。我猜这与进程内存中的数据段有关,但也许有人更好地解释一下?
void str2 (void)
{
char *s = "hello";
printf("%s\n", s);
s[0] = 'H'; //maybe this is a problem because content in s is constant?
printf("%s\n", s);
}
int main()
{
str2();
return 0;
}