while(scanf(%d,n)!=EOF)
scanf的返回值由后面的参数决定
scanf("%d%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF。
且返回值为int型.
验证:
sign = scanf("%d %d",&a,&b);
printf("%d %d\n",a,b);
printf("%d\n",sign);
但是输入“a X”的时候 输出的sign为0。
什么时候输出EOF? 在stdio.h中宏定义为-1。
按照说明,scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)。
End Of File,在电脑的术语缩写通常为 EOF,在作业系统决定资料源无更多的资料可读取。
int c;
while ((c = getchar()) != EOF){
putchar(c);
}
但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。 Linux中,在新的一行的开头,按下Ctrl-D,就代表EOF(如果在一行的中间按下Ctrl-D,则表示输出"标准输入"的缓存区,所以这时必须按两次Ctrl-D);Windows中,Ctrl-Z表示EOF。(顺便提一句,Linux中按下Ctrl-Z,表示将该进程中断,在后台挂起,用fg命令可以重新切回到前台;按下Ctrl-C表示终止该进程。) 那么,如果真的想输入Ctrl-D怎么办?这时必须先按下Ctrl-V,然后就可以输入Ctrl-D,系统就不会认为这是EOF信号。Ctrl-V表示按"字面含义"解读下一个输入,要是想按"字面含义"输入Ctrl-V,连续输入两次就行了
EOF 意思就是 end of file!!!! 你 按按CTRL+D试试。
本文转自:http://blog.sina.com.cn/s/blog_5a2bbc860101c8f2.html
while(scanf(%d,n)!=EOF)相关推荐
- EOF的意义及用法(while(scanf(“%d“,n) != EOF))
EOF为结束标志,当缓冲里没有东西或者遇到ctrl+z就结束 每次读取长度及类型%d那指定了 参考文章:EOF的意义及用法(while(scanf("%d",&n) != ...
- while(scanf(%d,n)!=EOF) / while(cinn)终止问题
问题的发现:(想要看干货可以直接跳过这段) 我最近刚了解到关于栈的用法,于是按照参考书寻找代码,并把它敲到电脑上.编译运行代码后发现无法终止,在网上查找各种资料,总结如下. 因为我的电脑是Window ...
- EOF的用法(while(scanf(“%d“,n) != EOF))和~取反的用法(while(~scanf(“%d“,n)))
文章目录 多组输入输出 输入固定数据量 EOF的用法 ~取反的用法 另一种写法,只针对特定标识符结束 扩展 多组输入输出 我们在做题中会有出现以下的情况, 情况一:题中要求在输入数据第一行给出固定数据 ...
- EOF的意义及用法(while(scanf(%d,n) != EOF))
EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束. 在微软的DOS和Windows中,读取数据时终端不会产生EOF.此时,应用程序知道数据源是一个终端(或者其它" ...
- C语言——EOF的用法——while(scanf(“%d“,num)!=EOF)
简介: EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取.资料源通常称为档案或串流.通常在文本的最后存在此字符表示资料结束.. 概念: 在C语言中,或更 ...
- 关于fflush、缓冲区、scanf、EOF等问题真麻烦
1.为什么 fflush(stdin)是错的 http://u637.springnote.com/pages/6288463.xhtml(已经bad request了) 首先请看以下程序: #inc ...
- c语言scanf(%d%d,ab)解释与EOF的使用
scanf("%d%d", &x, &y): 如果x和y能够被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返 ...
- C中scanf()!EOF的理解
EOF是文件结尾标志,EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取.资料源通常称为档案或串流.通常在文本的最后存在此字符表示资料结束.而在文本文件中 ...
- ~scanf()和EOF
可以经常在ACM代码中看到 while(~scanf("%d",&n)){ } 这样的代码,意思是在读到输入结尾时循环也结束. ~是按位取反 scanf的返回值是输入值的个 ...
最新文章
- Linux常用命令——hostname
- mysql binlog日志优化及思路
- 利用构造函数进行简化类初始化
- Swift 位运算练习
- HDU 4502 吉哥系列故事——临时工计划(动态规划)
- 命令行开启windows下的iis信息服务,开启及配置http端口,开启及配置ftp端口
- 机器视觉工业镜头-Computar
- OpenDiscussion_DataDrivenDesign
- mysql触发器如何获取当前表名_MCGS pro组态环境下,如何获取当前用户名,在画面上显示?...
- python实训的意义_[Python] 一个让我更加清楚地理解了字典的实验……
- DNSChanger路由器DNS劫持木马 新版本正在攻击家庭及小企业路由器 企图推送广告...
- MongoDB 的 yum 安装
- 时间序列信号处理(一)-----变分模态分解(VMD)
- Win7-64bit下MapX的安装和使用
- jQuery暴打灰太狼小游戏
- <<视觉问答>>2022:MuKEA: Multimodal Knowledge Extraction and Accumulation for Knowledge-based VQA
- 谓语动词时态 - 一般过去时、一般现在时、现在进行时
- 注意啦!使用“流量卡”别图便宜,小心被监控!
- 推荐一个视频网站-播布客
- Kafka_producer