两种定义字符串的区别!
程序代码:
#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; }这个运行后出问题,这是为什么呢、?