这个问题已经在这里有一个答案:
我如果下面的代码编译,哪些是结果来回答:
char *s1 = "A String";
char *s2 = "Other String";
*s1 = *s2;
我真的没有发现在后台,当你做这样的声明会发生什么。为S1指向内存这样看?:
|A| |S|t|r|i|n|g|\0|
在我的理解*s1 = *s2
就像s1[0] = s2[0]
一样的,对不对?那么为什么会出现内存错误?不应该说,它是?:
|O| |S|t|r|i|n|g|\0|