| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4071 人关注过本帖
标题:while(scanf("%d",&in)!=1)这句是什么意思??
只看楼主 加入收藏
huxs
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-10-7
收藏
 问题点数:0 回复次数:19 
while(scanf("%d",&in)!=1)这句是什么意思??
while(scanf("%d",&in)!=1)
看到几次了,就是搞不懂它的意思.
搜索更多相关主题的帖子: scanf 
2007-10-09 13:20
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
...........
..........
..........
当接受到的值不等于一的时候,跳出循环

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-10-09 15:33
cutboy
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-16
收藏
得分:0 
回复:(huxs)while(scanf(
表示输入成功就退出WHILE循环.scanf函数的返回值是输入数据的个数,如果scanf("%d%d%d",&a,&b,&c) a,b,c都成功输入的话表示3,即while(3!=1),你只输入一个,即scanf("%d",&in),那么就是while(1!=1),结果为假,推出WHILE循环.

2007-10-09 15:34
风刃
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-7
收藏
得分:0 
即:
scanf("%d",&in); /*读入in*/
while (in != 1 ) /*当in 不等于1时*/
2007-10-09 15:42
zlxiaonan
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-9-29
收藏
得分:0 
补充3楼的
1.scanf()函数有返回值且为int型。
2.scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。
从上边的例子中可以得到验证,这里用变量x接收scanf()函数的返回值,并输出显示出来。当运行中输入三个整数:5 6 7则x的值为3;如果输入5 6 d(即给c 赋值不正确)则x的值为2;如果输入5 t d(即给b和c 赋值不正确)则x的值为1;


2007-10-09 16:08
vbc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:352
专家分:147
注 册:2006-12-30
收藏
得分:0 

while(scanf("%d",&in)==1)
应该是输入直到将缓存中没有数据了.
因为scanf输入成功就返回1.
如:你一次输入多个数,又要对每个数进行处理就用
while(scanf("%d",&in)==1)
{
\\具体处理过程.
}

[此贴子已经被作者于2007-10-9 18:33:48编辑过]


清远鹏程万里人才网:[url=http://www.]http://www.[/url]zq.,qy.
2007-10-09 17:03
snipered
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2007-10-5
收藏
得分:0 
4楼的简单明了啊!!
佩服!
我也是这么想的!

2007-10-09 17:37
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
4``楼的说法``大错特错```还是3楼和5楼的对````



女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-10-09 18:29
aoaoaoao
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2007-5-14
收藏
得分:0 
while(scanf("%d",&in)!=1)

scanf函数的返回值是正确按指定格式输入变量的个数,

比如while(scanf("%d",&in)!=1)
getchar();

如果你输入1个字母a, scanf函数就不能正确接受并且会把字母a重新放入输入流中,当你再次从流中读取数据的时候还是会读取字母a,

加个getchar()就可以将字母a接受并从输入流中清除.
2007-10-09 19:30
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
补充一下楼上的```

如果你输入1个字母a, scanf函数就不能正确接受并且会把字母a重新放入输入流中,当你再次从流中读取数据的时候还是会

读取字母a,而a又不能正确接受```就回放入输入流中``下次读取的时候又读a````


这个时候就回产生死循环```

[此贴子已经被作者于2007-10-9 19:36:24编辑过]


女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-10-09 19:35
快速回复:while(scanf("%d",&in)!=1)这句是什么意思??
数据加载中...
 
   



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

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