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,因此常被用来判断调用一个函数是否成功。

猜你喜欢

转载自www.cnblogs.com/xtqjason/p/12184762.html
今日推荐