| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 372 人关注过本帖
标题:一段子程序的问题(never give up)
只看楼主 加入收藏
GUnever
Rank: 2
等 级:论坛游民
帖 子:59
专家分:25
注 册:2012-3-3
结帖率:95.24%
收藏
已结贴  问题点数:20 回复次数:1 
一段子程序的问题(never give up)
一段子程序求解释啊 (never give up)
int num =0,ch;
/*取得列表号码,所读取的数如果小于0就停止;*/
while(num<max&&scanf("%d",&columns[num])==1&&columps[num]>=0)
num++;
/*丢弃该行中包含最后一个数字的部分内容*/
while((ch=getchar()!=EOF&&ch!='\n');
return num;
  问这段程序的最后一段程序为什么可以丢弃最后一个数字的部分内容啊 其实他没有什么执行语句,是不是因为最后一个数是负数的原因?最后一个数是负数可以终止循环但也没有执行语句让其丢弃啊?
  还有一个SCANF的问题 ==1 这个的用法一般在什么时候非常有用呢?
请指教 谢谢哈!

搜索更多相关主题的帖子: 子程序 数字 return 
2012-03-05 13:12
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:20 
就是把它们从缓冲区读取出来又不保留。
scanf的返回值是成功读取的变量个数,如果读取出错就会比预期的少,遇到结束符就是-1,所以这样严谨编写可以减少漏洞

酱油实习生
2012-03-06 20:46
快速回复:一段子程序的问题(never give up)
数据加载中...
 
   



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

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