c语言:为什么能编译却运行不了这个程序啊??

2025-02-27 18:05:54
推荐回答(3个)
回答1:

你这程序很多问题啊,我帮你改了一下。

1、b是char类型,应该用getchar();输入。

2、m=getchar();前需要加入fflush(stdin);清空缓存区。比如你刚刚输了一个Y,然后回车等待结果,但是没有清空输入缓存区,你的回车就被m=getchar();给录入了,就不让你再输入了。

3、你这是迷宫,你的棋子在走的时候至少要有坐标移动,你全程下来,i,j都等于1。你用wsad分别表示上下左右,相应地,按这些键后,坐标改变,即棋子所在的行数列数改变。w上,i--; s下,i++; a左,j--; d右,j++;

4、最后计时,你的通关提示的地方放错了,应该在while循环外,你应该是while循环到棋子走出去,才能算通关,对不对。

要改的地方给你标注出来了。

我加了个每步的输出,便于观察棋子的运动情况

回答2:

printf("你准备好了吗?Y/N");
b = getchar();

回答3:

程序有Bug