请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

程序是正确的,但是运行的时候总是出问题,麻烦大神把看看哈。#include<stdio.h>intmain(){charletter;printf("pleaseinpu... 程序是正确的,但是运行的时候总是出问题,麻烦大神把看看哈。
#include<stdio.h>
int main()
{
char letter;
printf("please input first English letter:\n");
while((letter=getchar())!='Y')
{ switch (letter)
{
case 'S':printf("please input second English letter:\n");
if((letter=getchar())=='a')
printf("the day is Saturday\n");
else if((letter=getchar())=='u')
printf("the day is Sunday\n");
else printf("data error\n");
break;
}
}
}
由于字数限制我删减了一些,但就是这个case ‘S’和另一个case‘T’,两个问题是一样的,所以我删了。麻烦啦。。。
展开
 我来答
黑丶雨
2016-08-06 · TA获得超过554个赞
知道小有建树答主
回答量:406
采纳率:80%
帮助的人:391万
展开全部
/*经测试,没有问题,希望能帮到你!*/
#include<stdio.h>
int main()
{
    char letter = '\0';
    char let = '\0';  //用一个变量来储存另外一个字符; 
    printf("please input first English letter:\n");
    while((letter=getchar())!='Y')
    {    
        switch (letter)
        {
            case 'S':
            printf("please input second English letter:\n");
            fflush(stdin);  //清除键盘缓存; 
            if((let = getchar())== 'a')
                printf("the day is Saturday\n");
            else if(let == 'u')  //let已经有值了,不需要再赋值了; 
                printf("the day is Sunday\n"); 
            break;
        }
    }
    return 0; 
}
追问
谢谢,我试了,杠杆滴。
我发现我的代码加了fflush(stdin); //清除键盘缓存; 也可以,结果一样一样的。
可以问下,这是为什么吗?
非常感谢。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式