当我尝试在C中的简单地图上将我的播放器移动到屏幕上时程序崩溃

时间:2016-02-20 04:48:24

标签: c multidimensional-array

|ChickenWordVariety

2 个答案:

答案 0 :(得分:3)

尝试将move地址提供给scanf()

scanf(" %c", &move);

scanf()需要目的地(地址),指定扫描/读取字符的位置。你正在给它move中的垃圾值。它使用此值作为地址并尝试在那里编写您的角色。由于它写入无效的内存位置,因此崩溃。

答案 1 :(得分:2)

与忘记;一样,忘记&中的scanf是C编程中最常见的错误之一。

您忘记了& move scanf

查看您的代码,我相信您已经知道为什么需要将地址传递给scanf

但是如果你没有,你可以用高质量的接受答案来提及 Why scanf must take the address of operator