标题:一个关于SCANF函数的问题
只看楼主
liweiqing0224
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-6-7
 问题点数:0 回复次数:5 
一个关于SCANF函数的问题
各位大虾们好:
void main()
{
char a;
    while(1)
   {
    scanf("%c",&a);
     printf("#######%c",a);
  }
}

我的本意是不停的输入字符,然后输出字符,但是出现了问题
例如,输入b,输出:######b######
         而不是######b
       不知道为什么?

还有,如果把scanf语句改成scanf("%c\n",&a);
当输入第一个字符时没输出,然后没输入一个,都是显示前一次输入的字符;为什么啊?

渴望隔离大哥大姐没解答!!!
搜索更多相关主题的帖子: SCANF 函数 scanf 字符 
2008-06-07 16:45
leilei88
Rank: 2
来 自:青岛
等 级:论坛游民
帖 子:217
专家分:27
注 册:2008-3-30
得分:0 
可是你的printf语句写的不就是printf("#######%c",a);吗?意思不就是输出#######b?
2008-06-07 17:58
now
Rank: 1
来 自:广州
等 级:新手上路
帖 子:544
专家分:0
注 册:2007-11-9
得分:0 
scanf("%c",&a);
// 键入b+ENTER,scanf读取了字符b, 将'\n'放回缓冲区,下一次读取将从'\n'开始;注'\n'也是一个字符;

GIS
Geographic Information System
你在哪里?——》你的坐标?
2008-06-07 22:33
多宾少校
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-07 22:53
liyingxzy
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-09 08:25
z445619791
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-6-9
得分:0 
正如5楼说的

只要在 SCANF 后面加入 getchar();

把回车给读走就可以了
2008-06-09 13:22



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




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

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