当前位置: 代码迷 >> C语言 >> [求助]关于缓冲流输入时候出错问题
  详细解决方案

[求助]关于缓冲流输入时候出错问题

热度:122   发布时间:2007-09-21 20:56:38.0
是这个意思吗?
输入1回车(缓冲流中这个回车留下了,记为回车1)
输入2回车(这个回车也留下了,记为回车2)

然后 回车2给了d
回车1给了b
输入w回车(回车3)
w给了e回车给了f

所以如果f是整形的话我%d输入它,再%d输出,结果也会是个随机数吧.(但是运行后f却是10,怎么不是随机的啊,恰好是回车的ASCII啊)
----------------解决方案--------------------------------------------------------
晕,我倒是编程也不遇到这中情况
可是是考试题啊,我也没办法的.
----------------解决方案--------------------------------------------------------
以下是引用我是菜鸟哦在2007-9-21 20:56:38的发言:
是这个意思吗?
输入1回车(缓冲流中这个回车留下了,记为回车1)
输入2回车(这个回车也留下了,记为回车2)

然后 回车2给了d
回车1给了b
输入w回车(回车3)
w给了e回车给了f

所以如果f是整形的话我%d输入它,再%d输出,结果也会是个随机数吧.(但是运行后f却是10,怎么不是随机的啊,恰好是回车的ASCII啊)

回车提升为整型啊,当然是ascii的了啦,说明接收的是回车,你可把输出的%c都给改为%d看看,就都明白了不是


----------------解决方案--------------------------------------------------------
那么b为什么就不是呢?
----------------解决方案--------------------------------------------------------

我的结果
----------------解决方案--------------------------------------------------------
对啊,我也是这样的
我就是搞不明白从输入b的时候出了什么岔子了?
----------------解决方案--------------------------------------------------------
想问一下你的也是1406?
----------------解决方案--------------------------------------------------------
对,但是你把B赋予值会发现b在不赋予值的情况下是跳过去的,是随机的

[此贴子已经被作者于2007-9-21 21:34:03编辑过]



----------------解决方案--------------------------------------------------------
就是没有初始化,你看看上面有c开头的id讲的,思考一下,我也不是很明白
----------------解决方案--------------------------------------------------------
明白了,数据类型的匹配问题
会了个新用法fflush(stdin);
----------------解决方案--------------------------------------------------------
  相关解决方案