| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 959 人关注过本帖
标题:一个简单的小程序出了问题
只看楼主 加入收藏
xiedj
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2013-5-30
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:13 
一个简单的小程序出了问题
一个简单的小程序,但在VC++6.0上运行后得不到预期的结果,求指教
#include<stdio.h>
int main(void)
{
    int i,ch='y';
    while(ch=='y')
    {
        printf("请任意输入i的值:");
        scanf("%d",&i);
        printf("\n");
        printf("i=%d\n",i);
        printf("是否继续输入(y表示yes,n表示no):");
        scanf("%c",&ch);
        printf("\n");
    }
    return 0;
}
搜索更多相关主题的帖子: return 
2013-05-30 15:46
xiedj
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2013-5-30
收藏
得分:0 
自己发现了个小错误,第一行中把ch='y'改到第二行变为char ch='y';但是运行之后还是不行
2013-05-30 15:48
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
收藏
得分:5 
程序代码:
#include<stdio.h>
int main(void)
{
    int i,ch='y';
    while(ch=='y')
    {
        printf("请任意输入i的值:");
        scanf("%d",&i);
        fflush(stdin);           //清空缓存;
        printf("i=%d\n",i);
        printf("是否继续输入(y表示yes,n表示no):");
        scanf("%c",&ch);
        printf("\n");
    }
    return 0;
}

练就一身本领,只为笑傲江湖!
2013-05-30 16:08
xiedj
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2013-5-30
收藏
得分:0 
请问能否解释一下为什么要清空缓存?如果要清空缓存,在程序的什么位置添加这一语句?清空缓存就只有这一种句式吗?我是个初学者,没这个概念。
2013-05-30 16:42
flfw1314
Rank: 2
等 级:论坛游民
帖 子:14
专家分:43
注 册:2012-12-2
收藏
得分:5 
scanf读入数字的时候不会读回车键,所以当你下一个scanf("%c",&ch)缓冲区的回车就被读了,此时ch='\n'可以在第一个scanf后面加一句getchar();把回车读了。。就OK
程序代码:
#include<stdio.h>
int main(void)
{
    int i,ch='y';
    while(ch=='y')
    {
        printf("请任意输入i的值:");
        scanf("%d",&i);
        printf("\n");
        printf("i=%d\n",i);
        printf("是否继续输入(y表示yes,n表示no):");
getchar();
        scanf("%c",&ch);
        printf("\n");
    }
    return 0;
}
2013-05-30 17:10
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:0 
同意3楼!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-30 21:47
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:5 
数据读入的时候不是直接就读到内存,先存在一个缓冲区,然后在读进去

Maybe
2013-05-31 00:51
bccnjj
Rank: 1
等 级:新手上路
帖 子:15
专家分:4
注 册:2012-2-16
收藏
得分:0 
这个横不错
2013-05-31 09:25
hsjjgm
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:106
专家分:189
注 册:2013-4-27
收藏
得分:0 
学习了
2013-05-31 11:34
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1481
专家分:9055
注 册:2010-3-16
收藏
得分:0 
这个缓存经常被忽视。
2013-05-31 16:45
快速回复:一个简单的小程序出了问题
数据加载中...
 
   



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

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