| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 954 人关注过本帖
标题:关于scanf的问题
只看楼主 加入收藏
郑象帅
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-1-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:11 
关于scanf的问题
while(~scanf("%d",&input)),这个形式的刚才在网上查来着,但是得到的答案是只要输入的数据没被成功读取就会一直让你输入,但是我收到的老师的文件上说的是可以输入不确定数目的一组数据,这到底是怎么弄啊??求大神解释
/*
[友情提示]
输入时,没有指定数据规模n的具体数目,可以用while(~scanf("%d",&input)){}来读入数据。
*/
\
这个是原文,求解释
搜索更多相关主题的帖子: 规模 网上 
2015-06-25 21:42
TRUTH_2015
Rank: 2
等 级:论坛游民
帖 子:37
专家分:20
注 册:2015-5-13
收藏
得分:2 

while(scanf("%d",&input)!=EOF)
{
 ……
}
2015-06-25 21:47
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:2 

while(scanf("%d",&input))//一直 loop 输入

这个loop看%d求要用户一直输入的是整数
那么退出while loop可用非字符做退出条件
输入n个整数,输入非数字退出输入:
while((scanf("%d",&input))==1)



[ 本帖最后由 hjx1120 于 2015-6-25 23:24 编辑 ]
2015-06-25 22:33
自傲
Rank: 2
等 级:论坛游民
帖 子:53
专家分:95
注 册:2015-5-16
收藏
得分:2 
位&什么啥意思
2015-06-25 23:00
lhfwl
Rank: 2
等 级:论坛游民
帖 子:4
专家分:12
注 册:2015-6-25
收藏
得分:2 
回复 4楼 自傲
scanf要用的是存放变量的首地址!那是取地址,不是位的&。
2015-06-26 10:10
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:2 
while(~scanf("%d",&input))


scanf("%d",&input)
1.读取成功返回1 ,取反为真继续循环。
2.遇到不匹配的类型不读取并返回0,取反为真。之后继续检测到不匹配的类型进入死循环。
3.读取EOF,返回EOF。 不知道对EOF取反是个什么结果,我在VC上试是退出循环了

人有多懒,编程就有多难。
2015-06-26 10:58
dq142
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2015-6-26
收藏
得分:2 
用while这种取不确定n连续输入应该有一个中止符,或许就是让你在用while并设中止符.....个人见解,文件操作的时候可以使用
2015-06-26 11:31
iiooppkk123
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2015-6-26
收藏
得分:2 
回复 4楼 自傲
scanf格式就是这样,&是取址
2015-06-26 13:16
raozhouliang
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2015-6-26
收藏
得分:2 
&这是取地址符号,没有这个符号scanf找不到内存上的地址。就会导致程序停止运行。
2015-06-26 13:37
lmlm1001
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:4
帖 子:107
专家分:550
注 册:2015-3-1
收藏
得分:2 
scanf() 读取的时候遇到错误或者eof,返回EOF,值为-1,~为取反
~-1 按对2补码的值来说 就是0,跳出循环
2015-06-29 00:51
快速回复:关于scanf的问题
数据加载中...
 
   



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

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