C语言 关于用ESC实现返回主菜单的

搜索到前人的这个提问,结果答案是错的,希望高人改正,谢谢了fun(){charch;do{printf("请输按任一键\n");ch=getch();}while(ch!... 搜索到前人的这个提问,结果答案是错的,希望高人改正,谢谢了
fun()
{
char ch;
do
{
printf("请输按任一键\n");
ch=getch();
}
while(ch!=27)//如果输入的为ESE键则返回主函数
return;
}
发现到倒数第2行时还能执行,ESC的ASCII码为27,可是运行程序的结果时按除ESC的键外一直printf请输按任一键,而按ESC直接提示退出程序了。。。是RETURN的用法错了吗?我不会用RETURN,希望指点一下。
展开
 我来答
百度网友f8546d9a9
2008-12-03 · TA获得超过1963个赞
知道小有建树答主
回答量:1232
采纳率:0%
帮助的人:1097万
展开全部
由于输入字符比较奇怪,以你这个为例,当你输入以个字符后,回车,不是ESE键,这时回车会下一个getch()。有点麻烦。
根据这点,你可以在
printf("请输按任一键\n");
ch=getch();
后面再加依据
getchar();
就行了。

也就是do
{
printf("请输按任一键\n");
ch=getch();
getchar();//不要以为要输入两次,其实调试时你回发现只需输入一次
}
while(ch!=27)
Scene小店
2008-12-03 · 超过12用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:36.6万
展开全部
这个程序本来就是这样的结果啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式