| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 945 人关注过本帖
标题:关于getchar的问题。。
只看楼主 加入收藏
cy814
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-12-25
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
关于getchar的问题。。
#include<stdio.h>
void main()
{
    char day;   
    printf("please input the first letter of week.\n");
    day=getchar();
    switch(day)
    {
    case 'm':printf("monday\n");break;
    case 't':printf("please input second char\n");
        day=getchar();
            if(getchar()=='u')
            printf("tuesday\n");
         else if(getchar()=='h')
            printf("thursday\n");
            else
            printf("date error\n");
            break;
    case 'W':printf("wednesday\n");break;
    case 'S':printf("please input second char\n");
            day=getchar();
         if (getchar()=='u')
            printf("sunday\n");
         else if(getchar()=='a')
            printf("saturday\n");
            else
            printf("date error");
            break;
    case 'F':printf("friday\n");break;
    default:printf("date error\n");
    }
}
这个我输入t然后输入h就出现date error但是输入u就正常
输入s时也一样。。只有一个有用。。但是我把第二个改成day==‘h’后就能正常运行了
有谁能告诉我这是为什么吗。。谢谢了。。
搜索更多相关主题的帖子: getchar 
2010-02-14 23:12
sainimu78
Rank: 2
等 级:论坛游民
帖 子:57
专家分:26
注 册:2010-1-27
收藏
得分:10 
#include<stdio.h>
void main()
{
    char day;   
    printf("please input the first letter of week.\n");
    day=getchar();
    switch(day)
    {
    case 'm':printf("monday\n");break;
    case 't':printf("please input second char\n");
        day=getchar();/*这个是多余的*/
            if(getchar()=='u') /*因为这里是直接把getchar()的返回值用来作条件*/
            printf("tuesday\n");
         else if(getchar()=='h')
            printf("thursday\n");
            else
            printf("date error\n");
            break;
    case 'W':printf("wednesday\n");break;
    case 'S':printf("please input second char\n");
            day=getchar();/*这里也是一样的*/
         if (getchar()=='u')
            printf("sunday\n");
         else if(getchar()=='a')
            printf("saturday\n");
            else
            printf("date error");
            break;
    case 'F':printf("friday\n");break;
    default:printf("date error\n");
    }
}
2010-02-15 01:43
cy814
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-12-25
收藏
得分:0 
恩恩。。谢谢了。。。
2010-02-15 10:19
heartnheart
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:335
专家分:1096
注 册:2009-7-10
收藏
得分:10 
楼上只是把多余的删掉就能正常运行了么?
2010-02-15 12:11
cy814
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-12-25
收藏
得分:0 
对呀。。我把那个day=getchar()删掉就可以正常运行。。怎么啊。。还有问题?
2010-02-15 20:46
cy814
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-12-25
收藏
得分:0 
呃。。确实不能正常运行。。还是和原来一样有一个不能运行。。但是和原来相反了
输入t然后h可以运行但是u就不行了。。这倒是是为什么啊。。希望大家帮帮我。。
2010-02-15 20:50
快速回复:关于getchar的问题。。
数据加载中...
 
   



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

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