标题:大神帮忙看看这个哪里错了吗?
只看楼主
仙人掌叔叔
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-11-7
结帖率:100%
已结贴  问题点数:20 回复次数:5 
大神帮忙看看这个哪里错了吗?
#include<stdio.h>
#include<stdlib.h>
int main()
{
    char a;
    printf("输入一个字母:");
    scanf("%c",&a);
    if(a=='s')
    {
        printf("再输入一个字母:");
        scanf("%c",&a);
        if(a=='u')
            printf("星期天\n");
        else if(a=='a')
            printf("星期六\n");
        else
            printf("输入错误!\n");
    }
    else if(a=='m')
        printf("星期一\n");
    else if(a=='t')
    {
        printf("再输入一个字母:");
        scanf("%c",&a);
        if(a=='u')
            printf("星期二\n");
        else if(a=='h')
            printf("星期三\n");
        else
            printf("输入错误!\n");
    }
    else if(a=='w')
        printf("星期四\n");
    else if(a=='f')
        printf("星期五\n");
    else
        printf("输入错误!\n");
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: include 星期六 字母 
2014-11-10 12:40
Adws
Rank: 2
等 级:论坛游民
帖 子:19
专家分:87
注 册:2013-7-29
得分:20 
printf("再输入一个字母:");
在每句这样的代码前面加上
getchar();

原因是因为第二个scanf把缓冲区的换行符读进来照成了判断错误.
2014-11-10 13:51
Adws
Rank: 2
等 级:论坛游民
帖 子:19
专家分:87
注 册:2013-7-29
得分:0 
printf("再输入一个字母:");
在每句这样的代码前面加上
getchar();

原因是因为第二个scanf把缓冲区的换行符读进来照成了判断错误.
2014-11-10 13:51
仙人掌叔叔
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-11-7
得分:0 
回复 2 楼 Adws
相当于是getchar()把前面的换行符取走了吗?然后就不管getchar取走的符号了。。。
2014-11-11 21:27
Adws
Rank: 2
等 级:论坛游民
帖 子:19
专家分:87
注 册:2013-7-29
得分:0 
以下是引用仙人掌叔叔在2014-11-11 21:27:04的发言:

相当于是getchar()把前面的换行符取走了吗?然后就不管getchar取走的符号了。。。

2014-11-18 16:12
仙人掌叔叔
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-11-7
得分:0 
回复 5 楼 Adws
嗯嗯,谢谢了
2014-11-22 23:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-438364-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.697650 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved