while(scanf("%d",&r)!=EOF)如何理解?

Posted xtqjason

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while(scanf("%d",&r)!=EOF)如何理解?相关的知识,希望对你有一定的参考价值。

EOF(end of file)就是文件的结束,通常来判断文件的操作是否结束的标志。

EOF不是特殊字符,而是定义在头文件<stdio.h>的常量,一般等于-1;

//以求圆形的面积为例:
#include<stdio.h> #include<math.h> #define PI 3.1415926535 int main(){ int r; while(scanf("%d",&r)!=EOF){//判断是否到达文件末尾 printf("%.7lf",PI*r*r); } return 0; }
EOF=end of file!!!,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。
C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。

以上是关于while(scanf("%d",&r)!=EOF)如何理解?的主要内容,如果未能解决你的问题,请参考以下文章

c语言 while(scanf("%d", &num) == 1) 起啥作用

关于while (~scanf("%d %d", &m, &n))的用法

C语言while(scanf("%d",&num)==1);语句的一个问题

关于while(scanf_s("%d",&x)!=0) 的逻辑错误 (scanf_s的 返回值)

while(scanf("%d %d",&a,&b)!=EOF)

while(scanf("%d",&n)!=EOF)