标题:帮帮忙啊,不明白交叉输入数据和字符数据时的输入方式!
只看楼主
我为程序疯狂
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-1-31
 问题点数:0 回复次数:2 
帮帮忙啊,不明白交叉输入数据和字符数据时的输入方式!
假设有以下定义和输入语句:
int a1 ,a2; char c1 c2;
sanf("%d%c%d%c",&a1,&c1,&a2,&c2);
正确输入数据:
10A∪20B<CR> (此处∪代表空格,<CR>代表Enter)
若用以下输入形式:
10∪A∪20∪B<CR>
则将把10赋予a1,把空格赋予c1,接着a2将遇到字母A,因此类型不匹配,虽然程序照常运行并且不报错,但是scanf函数将结束执行,使的a2和c2不能从终端接受数据.注意,字母A未被读入,留给下一个输入操作去读入.



我想问的问题是:在正确的输入形式下空格是被赋予了谁?为什么不赋予a2?
搜索更多相关主题的帖子: 字符 数据 交叉 输入 
2007-02-24 13:40
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 
你下面这样输入,难免有意想不到效果。

谁有强殖装甲第二部,可以Q我460054868
2007-02-24 15:11
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
尤其是你使用的是vc++6.0的话你就根本不要想不刷新缓存继续输入字符

2007-02-24 21:21



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




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

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