| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1240 人关注过本帖
标题:vc6.0中运行时不能第二次输入吗?
只看楼主 加入收藏
fortunecjs
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-4-21
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:8 
vc6.0中运行时不能第二次输入吗?
#include<stdio.h>
void main()
{
    char s1,s2;
    printf("please input the first name:\n");
    scanf("%c",&s1);
    switch(s1)
    {
    case 'm': printf("monday");break;
    case 't':
        printf("please input the second name:\n");
        scanf("%c",&s2);
        if(s2=='u')
            printf("tuesday");
        if(s2=='h')
            printf("thurday");
        break;
    case 'w': printf("wendesday");break;
    case 'f': printf("friday");break;
    case 's':
        printf("please input the second name:\n");
        scanf("%c",&s2);
        if(s2=='a')
            printf("saturday");
        if(s2=='u')
            printf("sunday");
        break;
    }
    printf("\n");

}


为什么这个程序在vc6.0中不能输入second name,而是直接结束了?
搜索更多相关主题的帖子: void tuesday include please 
2012-04-26 12:28
阴阳
Rank: 4
等 级:业余侠客
帖 子:102
专家分:297
注 册:2012-4-7
收藏
得分:4 
输入t和s才能输入second name

一阴一阳之谓道!
2012-04-26 12:46
水依若雨
Rank: 1
等 级:新手上路
帖 子:13
专家分:6
注 册:2011-11-30
收藏
得分:4 
楼上的应该没有运行过吧?本人是新手,上机试了下,真不能输入second name !不知道为什么?求解惑!!!!
2012-04-26 12:58
fortunecjs
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-4-21
收藏
得分:0 
是的,是软件本身不支持还是还是程序有问题?
2012-04-26 12:59
fdasfea
Rank: 2
等 级:论坛游民
帖 子:6
专家分:25
注 册:2011-12-13
收藏
得分:4 
输入第二个字符前要清空输入缓冲区

#include<stdio.h>
void main()
{
    char s1,s2;
    printf("please input the first name:\n");
    scanf("%c",&s1);
    switch(s1)
    {
    case 'm': printf("monday");break;
    case 't':
        fflush(stdin);
        printf("please input the second name:\n");
        scanf("%c",&s2);
        if(s2=='u')
            printf("tuesday");
        if(s2=='h')
            printf("thurday");
        break;
    case 'w': printf("wendesday");break;
    case 'f': printf("friday");break;
    case 's':
        fflush(stdin);
        printf("please input the second name:\n");
        scanf("%c",&s2);
        if(s2=='a')
            printf("saturday");
        if(s2=='u')
            printf("sunday");
        break;
    }
    printf("\n");

}
2012-04-26 13:42
水依若雨
Rank: 1
等 级:新手上路
帖 子:13
专家分:6
注 册:2011-11-30
收藏
得分:0 
回复 5楼 fdasfea
真的耶!!!可是不懂为什么,超出了现在水平,虽然不是我的问题,但让我长见识了!!!谢谢哦!
2012-04-26 14:36
lxsjzbd
Rank: 4
来 自:河北省
等 级:业余侠客
帖 子:97
专家分:258
注 册:2012-3-31
收藏
得分:4 
scanf(" %c",&s2);你在%c前加空格
2012-04-26 14:43
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:4 
第二个scanf读取的是数据缓冲区,所以才会有那种现象。

★★★★★为人民服务★★★★★
2012-04-26 15:09
fortunecjs
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-4-21
收藏
得分:0 
好的,可以了,谢谢。
2012-04-26 15:30
快速回复:vc6.0中运行时不能第二次输入吗?
数据加载中...
 
   



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

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