| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2047 人关注过本帖
标题:[求助]关于缓冲流输入时候出错问题
只看楼主 加入收藏
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
#include <stdio.h>
int main()
{
int a,b,c;

char d,e,f;

scanf("%d%d",&a,&c);
scanf("%c",&d);
scanf("%d",&b);
scanf("%c",&e);
scanf("%c",&f);
printf("a=%d,c=%d,d=%c,b=%d,e=%c,f=%c",a,c,d,b,e,f);
return 0;
}
改成这样你就能看得很清楚,两次回车分别被d和f吃掉了,b之所以是随机数,是因为输入流中w与b所期待的类型不匹配,跳过,从而使b没有被初始化。。。


偶学编程,也许本身就是一个错。。。
2007-09-21 20:19
百年不亮
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:789
专家分:0
注 册:2006-4-14
收藏
得分:0 
why ? 为什么你们对FAQ的内容视而不见呢?

http://bbs.bc-cn.net/viewthread.php?tid=171705
2007-09-21 20:22
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
哦,谢谢

[此贴子已经被作者于2007-9-21 20:26:13编辑过]



偶是菜鸟鸟偶惧WHO?!!!!
2007-09-21 20:25
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 

11楼但是我把d的%c改为%d为什么还是随即呢?


偶是菜鸟鸟偶惧WHO?!!!!
2007-09-21 20:31
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
scanf("%d",&d);接收了
大概回车被提升了
1回车
2回车→接收了这个回车,你的这个输出应该是个整数吧

[此贴子已经被作者于2007-9-21 20:39:18编辑过]


You have lots more to work on! Never give up!c language!
2007-09-21 20:34
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
请参见12楼吧,我不想被斑竹BS。。。

偶学编程,也许本身就是一个错。。。
2007-09-21 20:37
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
我是菜鸟,不怕BS

You have lots more to work on! Never give up!c language!
2007-09-21 20:39
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
我说的不是技术上的BS

况且我们要支持一下FAQ。。。

偶学编程,也许本身就是一个错。。。
2007-09-21 20:46
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
我支持兄弟,不要再讨论了,脱离了主题
你帮他解释吧,我每次都是踏踏实实编程
叫我不要用scanf,我没用,就用了fscanf和sscanf
怎么我就没遇到这些问题
我编程哪里看到这么多特别情况
都很容易通过,也很常见的方式
怎么就有这么多问题呢?
我在论坛,长了这方面知识

You have lots more to work on! Never give up!c language!
2007-09-21 20:49
king0718
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-9-18
收藏
得分:0 

#include <stdio.h>
main()
{
int a,b,c;

char d,e,f;

scanf("%d%d%*c",&a,&c); //加个%*c 看看~~我也不是很行~~呵呵~~
scanf("%c",&d);
scanf("%d",&b);
scanf("%c",&e);
scanf("%c",&f);
printf("%d,%d,%c,%d,%c,%c",a,c,d,b,e,f);
}


爱好程序设计者加~~QQ284779230
2007-09-21 20:55
快速回复:[求助]关于缓冲流输入时候出错问题
数据加载中...
 
   



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

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