鱼C工作2月1日问题解答过程中出现的问题
原问题为:int main(void) {
char *play = "FishC";
char temp = play;
play = play;
play = play;
play = play;
play = play;
play = temp;
puts(play);
return 0;
}
问最后输出结果。我在VS2013和Codeblocks上运行出现了问题,即调试到:
play = play;
时出现Access violation writing location 0x00AB585A,:cry
我不明白为何会出现这种情况,望指点。 play指向的内存是只读的,不能写入,所以赋值出错 原因同楼上,至于修改,
将
char *play = "FishC";
改为
char play[] = "FishC";
即可 感谢楼上两位的指点,问题解决了。 {:9_222:}第二天不是出详细答案了嘛~~~
页:
[1]