EOF为End Of File的缩写,通常在文本的最后存在此字符表示资料结束。
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCll代码值形式存放。我们知道,ASCll代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。
例如:
1. #include<stdio.h> 2. int main() 3. { 4. int a, b; 5. while (scanf("%d %d", &a, &b) != EOF) 6. { 7. printf("%d\n", a + b); 8. } 9. 10. return 0; 11. }
当上面程序运行时,如果不加“!=EOF”,那么这个程序就是个死循环,会一直运行下去;加上“!=EOF”后,该程序就不会是死循环,如果在终端不进行输入,该程序会自动结束。
也可以这样:
1. int main() 2. { 3. int a, b; 4. while (scanf("%d %d", &a, &b)==1) 5. { 6. printf("%d\n", a + b); 7. }