永发信息网

getch()函数

答案:3  悬赏:10  手机版
解决时间 2021-03-12 10:50
  • 提问者网友:戎马万世
  • 2021-03-11 11:48
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母
#include<stdio.h>
void main()
{char letter;
printf("please input the first letter:\n");
while((letter=getch())!='y')
{
switch(letter)
{
case 's':
printf("please input the second letter:\n");
if((letter=getch())=='a')
printf("Saturday\n");
else if((letter=getch())=='u')
printf("Sunday\n");
else printf("data error\n");
break;
case 'm':
printf("Monday\n");
break;
case 't':printf("please input the second letter:\n");
if((letter=getch())=='u')
printf("Tuesday\n");
else if((letter=getch())=='h')
printf("Thursday\n");
else
printf("data error\n");
break;
case 'w':printf("Wednesday\n");break;
case 'f':
printf("Friday\n");
break;
default:printf("data error\n");
}
}
}
问题:当输入‘s',提示输入第二个字母,如果此时输入一个‘u',为什么不输出Sunday,而要再输入一个‘u',才输出Sunday?我在TURBO C运行的是这样的结果
下面的case 't'的情况也一样。为什么?
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-03-11 11:57
printf("please input the second letter:\n");
if((letter=getch())=='a')
printf("Saturday\n");
else if((letter=getch())=='u')
printf("Sunday\n");
else printf("data error\n");
全部回答
  • 1楼网友:白昼之月
  • 2021-03-11 14:20
case 'T': { printf("Please input second letter:"); getchar();//抵消输入T之后输入的回车键 letter = getchar();//取得的实际是输入的第三个单元 if (letter == 'u') printf("The day istuesday\n"); else if (letter == 'h') printf("The day is thursday\n"); else printf("data error\n"); break; }
  • 2楼网友:从此江山别
  • 2021-03-11 13:31
函数名: getch 功 能: 从控制台无回显地取一个字符 用 法: int getch(void); 程序例: #include #include int main(void) { char ch; printf("input a character:"); ch = getch(); printf("\nyou input a '%c'\n", ch); return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯