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没有被初始化。。。
----------------解决方案--------------------------------------------------------
why ? 为什么你们对FAQ的内容视而不见呢?
http://bbs.bc-cn.net/viewthread.php?tid=171705
----------------解决方案--------------------------------------------------------
哦,谢谢
[此贴子已经被作者于2007-9-21 20:26:13编辑过]
----------------解决方案--------------------------------------------------------
11楼但是我把d的%c改为%d为什么还是随即呢?
----------------解决方案--------------------------------------------------------
scanf("%d",&d);接收了
大概回车被提升了
1回车
2回车→接收了这个回车,你的这个输出应该是个整数吧
[此贴子已经被作者于2007-9-21 20:39:18编辑过]
----------------解决方案--------------------------------------------------------
请参见12楼吧,我不想被斑竹BS。。。
----------------解决方案--------------------------------------------------------
我是菜鸟,不怕BS
----------------解决方案--------------------------------------------------------
我说的不是技术上的BS
况且我们要支持一下FAQ。。。
----------------解决方案--------------------------------------------------------
我支持兄弟,不要再讨论了,脱离了主题
你帮他解释吧,我每次都是踏踏实实编程
叫我不要用scanf,我没用,就用了fscanf和sscanf
怎么我就没遇到这些问题
我编程哪里看到这么多特别情况
都很容易通过,也很常见的方式
怎么就有这么多问题呢?
我在论坛,长了这方面知识
----------------解决方案--------------------------------------------------------
#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);
}
----------------解决方案--------------------------------------------------------