1. EOF是文件结尾标志,EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。而在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。档案存取或其它 I/O 功能可能传回等于象征符号值 (巨集) EOF 指示档案结束的情形发生。
  2. 实际上 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF会在编译原始码前展开实际值给预处理器。
    C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。
  3. #include <stdio.h>
    int main()
  4. {
  5. int n;
  6. while(scanf("%d",&n) != EOF)

  7.     
    }
        return 0;
    }
    当上面的程序运行时,如果不加" != EOF",那么这个程序就是个死循环,会一直运行下去;加上" != EOF"后该程序就不是死循环了,如果在终端不进行输入该程序会自动结束(while的意思就是说当当前输入缓存还有东西时就一直读取,直到输入缓存中的内容为空时停止)。
    在这"scanf("%d",&n) != EOF"相当于"scanf("%d",&n) != EOF",或"~scanf("%d",&n)",或"scanf("%d",&n) == 1 " 。scanf的返回值由后面的参数决定,
  8. scanf("%d%d", &a, &b);
    如果a和b都被成功读入,那么scanf的返回值就是2;如果只有a被成功读入,返回值为1;如果a和b都未被成功读入,返回值为0;如果遇到错误或遇到end of file,返回值为EOF,且返回值为int型。
  9. 要注意的是:在终端(黑框)中手动输入时,系统并不知道什么时候到达了所谓的“文件末尾”,因此需要用<Ctrl + z>组合键然后按 Enter 键的方式来告诉系统已经到了EOF,这样系统才会结束while.

C中scanf()!EOF的理解相关推荐

  1. C++中的cin 深入理解

    一.cin简介 二.cin从缓冲区读取数据 1. >> 2. get 3.getline() 4.cin之后使用getline会出现空行,调用cin.ignore()即可 5. 清空输入流 ...

  2. 对网络中安全审计产品的理解

    对网络中安全审计产品的理解<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

  3. ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解

    转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解 ArcGIS Engine中总调用IFeatureClass ...

  4. KMP中next数组的理解

    next数组是KMP的核心,但对于next数组我们总是有时候感觉明白了,但有时候又感觉没明白,现在我就说下我自己对KMP中next数组的理解,首先next[i]上的数字的意义,next[i]表示的是当 ...

  5. 串行和并行的区别_入门参考:从Go中的协程理解串行和并行

    本文转自公众号语言随笔,欢迎关注 入门参考:从Go中的协程理解串行和并行​mp.weixin.qq.com Go语言的设计亮点之一就是原生实现了协程,并优化了协程的使用方式.使得用Go来处理高并发问题 ...

  6. 高性能计算中并行的概念理解

    高性能计算中并行的概念理解 分类: 并行计算高性能计算HPC - General2011-11-09 22:54 932人阅读 评论(0) 收藏 举报 编译器编程parallel优化formsvect ...

  7. PYTHON__关于Socket中的Select使用理解

    关于Socket中的Select使用理解 以下是代码和中文注释的个人理解 import socket, select, Queueserver=('192.168.2.100',10086)#创建TC ...

  8. python self 值自动改变,在python中对self的理解

    在python中对self的理解 : 一.self的位置是出现在哪里? 首先,self是在类的方法中的,在调用此方法时,不用给self赋值,Python会自动给他赋值,而且这个值就是类的实例--对象本 ...

  9. 谈谈对python的理解_浅谈对python pandas中 inplace 参数的理解

    这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有, ...

最新文章

  1. 【ACM】杭电OJ 1284(待更)
  2. [ZJOI2012]灾难
  3. CodeforcesBeta Round #19 D. Points 离线线段树 单点更新 离散化
  4. 第一类斯特林数学习记录
  5. 自研海外PCDN系统技术架构与演进
  6. ELF文件和BIN文件
  7. 项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录
  8. python实现端口转发_Python TCP/IP协议下实现端口转发及重定向菜鸟教程
  9. mysql为何不支持开窗函数?
  10. Linux查看so库访问的IP,linux-ip命令杂记
  11. jquery audio没有声音_Audio-technica 铁三角 ATH-DSR7BT 头戴式蓝牙无线耳机测评报告 [Soomal]...
  12. 第四次作业3 四则运算试题生成
  13. 经典排序算法(十)--希尔排序Shell Sort
  14. jQuery post使用变量作参数名
  15. 动易html编辑器漏洞,动易2006_SP6最新漏洞得到管理员密码
  16. JAVA之stream汪文君_Java进阶篇之十五 ----- JDK1.8的Lambda、Stream和日期的使用详解(很详细)...
  17. Ubuntu桌面美化教程
  18. Python---贪心的狗熊
  19. html前端使用高德地图入门教程,并在地图上标记位置
  20. php天下第一的梗,DNF中那些怪梗盘点,最后一个已经被99%的玩家遗忘了

热门文章

  1. ES6的简单的整理与应用
  2. From d2l import torch as d2l 报错
  3. VBA每日一练(22),VBA 的 scripting 类库 (scrrun.dll) 和 fso 详细学习
  4. php xcahe安装,yum安装实现lamp分离及Xcache加速
  5. 显示器接口_Mac 用户超好用的显示器,色彩完美还接口多
  6. 推荐系统学习笔记-论文研读--点击率预估中特征交互的作用
  7. JDBC原理,JDBC基础编程
  8. 沟通口才培训:学好精准表达!
  9. 【光学】基于matlab实现单缝衍射
  10. python理解浮点数运算的误差_浅谈浮点数运算的误差