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)相关推荐

  1. EOF的意义及用法(while(scanf(“%d“,n) != EOF))

    EOF为结束标志,当缓冲里没有东西或者遇到ctrl+z就结束 每次读取长度及类型%d那指定了 参考文章:EOF的意义及用法(while(scanf("%d",&n) != ...

  2. while(scanf(%d,n)!=EOF) / while(cinn)终止问题

    问题的发现:(想要看干货可以直接跳过这段) 我最近刚了解到关于栈的用法,于是按照参考书寻找代码,并把它敲到电脑上.编译运行代码后发现无法终止,在网上查找各种资料,总结如下. 因为我的电脑是Window ...

  3. EOF的用法(while(scanf(“%d“,n) != EOF))和~取反的用法(while(~scanf(“%d“,n)))

    文章目录 多组输入输出 输入固定数据量 EOF的用法 ~取反的用法 另一种写法,只针对特定标识符结束 扩展 多组输入输出 我们在做题中会有出现以下的情况, 情况一:题中要求在输入数据第一行给出固定数据 ...

  4. EOF的意义及用法(while(scanf(%d,n) != EOF))

    EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束. 在微软的DOS和Windows中,读取数据时终端不会产生EOF.此时,应用程序知道数据源是一个终端(或者其它" ...

  5. C语言——EOF的用法——while(scanf(“%d“,num)!=EOF)

    简介: EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取.资料源通常称为档案或串流.通常在文本的最后存在此字符表示资料结束.. 概念: 在C语言中,或更 ...

  6. 关于fflush、缓冲区、scanf、EOF等问题真麻烦

    1.为什么 fflush(stdin)是错的 http://u637.springnote.com/pages/6288463.xhtml(已经bad request了) 首先请看以下程序: #inc ...

  7. c语言scanf(%d%d,ab)解释与EOF的使用

    scanf("%d%d", &x, &y): 如果x和y能够被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返 ...

  8. C中scanf()!EOF的理解

    EOF是文件结尾标志,EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取.资料源通常称为档案或串流.通常在文本的最后存在此字符表示资料结束.而在文本文件中 ...

  9. ~scanf()和EOF

    可以经常在ACM代码中看到 while(~scanf("%d",&n)){ } 这样的代码,意思是在读到输入结尾时循环也结束. ~是按位取反 scanf的返回值是输入值的个 ...

最新文章

  1. Linux常用命令——hostname
  2. mysql binlog日志优化及思路
  3. 利用构造函数进行简化类初始化
  4. Swift 位运算练习
  5. HDU 4502 吉哥系列故事——临时工计划(动态规划)
  6. 命令行开启windows下的iis信息服务,开启及配置http端口,开启及配置ftp端口
  7. 机器视觉工业镜头-Computar
  8. OpenDiscussion_DataDrivenDesign
  9. mysql触发器如何获取当前表名_MCGS pro组态环境下,如何获取当前用户名,在画面上显示?...
  10. python实训的意义_[Python] 一个让我更加清楚地理解了字典的实验……
  11. DNSChanger路由器DNS劫持木马 新版本正在攻击家庭及小企业路由器 企图推送广告...
  12. MongoDB 的 yum 安装
  13. 时间序列信号处理(一)-----变分模态分解(VMD)
  14. Win7-64bit下MapX的安装和使用
  15. jQuery暴打灰太狼小游戏
  16. <<视觉问答>>2022:MuKEA: Multimodal Knowledge Extraction and Accumulation for Knowledge-based VQA
  17. 谓语动词时态 - 一般过去时、一般现在时、现在进行时
  18. 注意啦!使用“流量卡”别图便宜,小心被监控!
  19. 推荐一个视频网站-播布客
  20. Kafka_producer

热门文章

  1. java 中的几种 通用方法“
  2. asp.net中的记忆盲区
  3. C#枚举硬件设备(升级版)
  4. (转帖)数据库时代的终结
  5. 表达对别人的感激之情
  6. 服务机器人传感器应用
  7. 项目管理概述学习记录(一)
  8. WINCE6.0下开始菜单的“挂起(suspend)”是否可见及阻止系统进入睡眠模式
  9. ansible2.4 api调用
  10. CentOS6.8安装Python3.6.3