更新时间:2015-11-03 10:14:53浏览次数:1+次
今天一大早就上慕课网社区回答别人的问题,其中有一个问题是这样的:
编制一个菜单程序Menu().利用switch语句完成菜单的选择,当输入'A'时,调用程序A(),当输入'B'时,调用程序B(),当输入'C'时调用程序C(),当输入其他字符时直接返回-1,主程序中利用-1结束程序,退出循环。
于是就动起手来编程
#include <stdio.h>
#include <stdlib.h>
int Menu();
void A();
void B();
void C();
int main()
{
int t = Menu();
while(t != -1)
{
t = Menu();
}
system("pause");
return 0;
}
int Menu()
{
char str;
scanf("%c", &str);
getchar();//截获回车和空格字符
switch(str)
{
case 'A':
A();
break;
case 'B':
B();
break;
case 'C':
C();
break;
default:
return -1;
break;
}
return 0;
}
void A()
{
}
void B()
{
}
void C()
{
}
程序编完后发现每次输入都马上结束了,觉得很奇怪,调试了好久才发现,原来是输入问题,回车也算是字符啊,真的是不编不知道,一编吓一跳了,在之前回答别人代码问题的时候也遇到过这样的问题,但当时没有去探究为什么会这样,只是添加了getchar函数就成功了,这次让我逮到了,哈哈哈。
相关资讯