在C语言中,或更精确地说成C标准函式库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志 还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。
#include <stdio.h>main() {int c, n1; n1 = 0; while ((c = getchar()) != EOF) if (c == '\n') ++n1;printf("%d\n", n1);} | getchar()函数在读到文件结束符或者遇到错误时返回EOF,这个程序可以在控制台中输入Ctrl + Z组合键来结束。 |
_________________________________________________
还有一个要注意的:
全局变量是在编译期间初始化的,不能利用函数进行初始化。如
#include<...> int a=5; int geta() { return a; } int b=geta();//initializer element is not constant int main() { return 0; }
<span style="font-family: Arial, Helvetica, sans-serif;">解决方式之一就是把全局变量在函数中赋值;</span>