两种定义字符串的区别!
程序代码: #include <stdio.h>
int main(void)
{
char str[] = "abcdef";
str[1] = 'A';
printf("%s\n",str);
return 0;
}我是想把第二个字符换成“A”,这样定义可以,但下面这种就有问题了,
程序代码: #include <stdio.h>
int main(void)
{
char *str = "abcdef";
*(str+1) = 'A';
printf("%s\n",str);
return 0;
}这个运行后出问题,这是为什么呢、?









