骑士漫游的一个小的C程序,有点问题,求助~~~~
在运行完一遍,重玩游戏的时候,还没输入就直接出来一个“输入错误”这是怎莫回事?是我input()函数有问题吗?
[解决办法]
gets 是读入一行, 有回车就算.
而之前输入 y 的那句 scanf(" %c",&judge); 并不会读入回车, 但是你输如的时候是需要输入回车的. 所有缓冲去就留了一个回车, 后面的 gets 就读入了一个空行了. 如果你输入一个 y3 在回车的话, gets 就会获得 3 的输入.
修改建议:
scanf(" %c",&judge);
改成:
judge =(char)getch();
需要头文件 conio.h
[解决办法]
gets(str);
你可以换成Scanf 这样来获取。。