C程序面试中曾经面试过这样一道题:
#include <stdio.h>
int main()
{
char *p = "12345";
*p = '6';
printf("修改后的字符串是%s\n", p);
return 0;
}
运行的结果如下:

这是因为,”12345“这个字符串在内存的区域是一段只读区域,只读区域是不能做任何修改的。
C程序面试中曾经面试过这样一道题:
#include <stdio.h>
int main()
{
char *p = "12345";
*p = '6';
printf("修改后的字符串是%s\n", p);
return 0;
}