| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1234 人关注过本帖
标题:高手来看看这个程序 出了变态的运行结果了
只看楼主 加入收藏
yaohuitc
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-8-19
收藏
 问题点数:0 回复次数:15 
高手来看看这个程序 出了变态的运行结果了
/* 照道理应该是要我输入  5次的
   结果才 3次  而且中间有两个出现了 input :
   但是没有输入   
   
   急需帮忙解决,最好说明为什么出错 */

#include <stdio.h>

main()
{
    char ch;
    int i;
    for(i=0; i<5; i++)
    {    
        printf("input :\n");
        scanf("%c", &ch);
        printf("\n %c", ch);
    }
}
搜索更多相关主题的帖子: 结果 运行 
2008-10-05 22:15
zamboninite
Rank: 2
等 级:论坛游民
帖 子:66
专家分:20
注 册:2007-10-6
收藏
得分:0 
scanf("%c", &ch);这一句在%c 前面加上一个空格。

原因大概就是 把enter键当成字符输出了
2008-10-05 22:42
yaohuitc
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-8-19
收藏
得分:0 
回复 2# zamboninite 的帖子
好像能行,但是还是有点问题
非常感谢!!

Impossible is nothing !   Just go on^^
2008-10-05 22:52
zamboninite
Rank: 2
等 级:论坛游民
帖 子:66
专家分:20
注 册:2007-10-6
收藏
得分:0 
我也是以前记得可以这样解决,具体为什么还是不太清楚
2008-10-05 23:05
郭毅
Rank: 1
来 自:湖北广水
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-4-10
收藏
得分:0 
原因简单
就象2楼说的,要加空格,因为你是连续的使用scanf,所以空格是必须的,否则下面的输入会出错!
2008-10-06 03:38
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 
#include <stdio.h>

int main()
{
    char ch;
    int i;
    for(i=0; i<5; i++)
    {   
        printf("input :\n");
        scanf("%c", &ch);
        fflush(stdin);
        printf("\n %c", ch);
    }
    return 0;
}

只有想不到,没有做不到
2008-10-06 09:57
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
回复 1# yaohuitc 的帖子
在楼主的循环体中, 它是分开输出的 , 第一次的scanf输入使缓冲区有了一值,  所以第二次它不要求你再输入了,  直接输出,但就在第二次输入那句话之后,系统也自动清空缓冲区,所以你第三次要输入 所以就只会提示你input三次了!
像7楼说的在每次scanf后清除缓冲区的值,这样就可以达到楼主所需的要求了

[[it] 本帖最后由 J_j 于 2008-10-6 12:42 编辑 [/it]]
2008-10-06 12:41
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
回复 10# KillC 的帖子
fflush(stdin);这个我也不是很清楚,也不是常用,它到底有什么危害咧?
2008-10-06 12:51
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
回复 11# J_j 的帖子
看下卧龙孔明的那个电子书吧,里面有文章就说到为什么fflush(stdin)是错的.

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-10-06 17:28
J_j
Rank: 1
等 级:新手上路
威 望:1
帖 子:100
专家分:0
注 册:2008-8-21
收藏
得分:0 
```````````````
2008-10-06 17:39
快速回复:高手来看看这个程序 出了变态的运行结果了
数据加载中...
 
   



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

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