| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 650 人关注过本帖
标题:这样为什不行啊?求解释?
只看楼主 加入收藏
云蕾
Rank: 2
等 级:论坛游民
帖 子:12
专家分:26
注 册:2011-10-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
这样为什不行啊?求解释?
#include<stdio.h>
main()
{
 char i,j;
  scanf("%c",&i);
  printf("%c",i);
  scanf("%c",&j);
  printf("%c",j);
}
为什么?第二个scanf不能读数据?
2011-11-12 22:11
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:20 
问题出在scanf()函数对 空格,制表符,回车符,和不是%后指定数据类型的处理上。
当你输入第一个数并回车后,第一个scanf()对输入数据进行检查,如不是指定类型或是空格,制表符,回车符等就结束数据存入变量,这些数据仍旧在输入缓存中。下一个scanf函数读取时碰到这些也就结束了,你可以用个fflush(stdin)函数清空输入缓存。
2011-11-12 22:24
云蕾
Rank: 2
等 级:论坛游民
帖 子:12
专家分:26
注 册:2011-10-28
收藏
得分:0 
但是c中好像没有fflush(stdin)
2011-11-12 22:26
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:0 
程序代码:
#include<stdio.h>
main()
{
char i,j;
  scanf("%c",&i);
  printf("%c",i);
  fflush(stdin);
  scanf("%c",&j);
  printf("%c",j);
}
2011-11-12 22:26
宅云云丶
Rank: 2
等 级:论坛游民
帖 子:71
专家分:11
注 册:2011-10-25
收藏
得分:0 
是不是没有 return 0;........
2011-11-12 22:28
云蕾
Rank: 2
等 级:论坛游民
帖 子:12
专家分:26
注 册:2011-10-28
收藏
得分:0 
我错啦!谢谢!有这个函数的!
2011-11-12 22:30
李庚
Rank: 2
来 自:河南南阳
等 级:论坛游民
帖 子:36
专家分:50
注 册:2011-10-17
收藏
得分:0 
怎么没读!只是先跳过第一个printf选择执行了第二个scanf。最后同时输出两个printf。
你可以输入连输入两个字符验证结果同样输出两个字符,而去掉第二个scanf结果只读第一个字符。
另外你要读入多个字符为什么不这样呢??scanf(“%c%c”,&i,&j);
或当多个时用for语句。这令在下不解。继续努力啊
2011-11-12 22:30
不要再信我
Rank: 2
等 级:论坛游民
帖 子:11
专家分:18
注 册:2011-10-17
收藏
得分:0 
程序代码:
#include<stdio.h>
main()
{
char i,j;
  scanf("%c",&i);//当你按a回车时,输入是a \n,但这个scanf根据你定义读入一个a,\n是他的缓存
  printf("%c",i);
  scanf("%c",&j);//这里默认读入上面的\n结束,所以没有输出
  printf("%c",j);
}
2011-11-12 22:34
lvmp520
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:24
注 册:2011-11-12
收藏
得分:0 
光顾下
2011-11-13 00:07
huanega
Rank: 3Rank: 3
来 自:内蒙古
等 级:论坛游侠
帖 子:117
专家分:192
注 册:2011-11-4
收藏
得分:0 
8楼  正解

兴趣是编程最好的老师
2011-11-13 23:13
快速回复:这样为什不行啊?求解释?
数据加载中...
 
   



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

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