
EOF 是 End Of File 的缩写,在 C 语言标准库中的定义如下:
#define EOF (-1)
迄今为止,关于 EOF 作用的观点各异。大多数程序员认为“文件中有一个 EOF 字符,用于表示文件的结尾”。其实,在个人看来这是一种最简单、最粗暴的理解,但实际上,这个观点并不正确(或者说并不完整),在文件所包含的数据中,并没有什么文件结束符。从 EOF 宏的定义中可以看出,EOF 宏的值为 -1,属于 int 类型的数据,在 32 位系统中,可以表示为 0xFFFFFFFF。由此可见,EOF 并不是一个字符,也不是文件中实际存在的内容(在第一个参考链接有详细说明)。
- 使用EOF实现闰年不断判断
#include<iostream>
using namespace std;
int main()
{
int n;
char c = ;//初始化c;
while (c!=EOF)
{
cout << "cinyear:";
cin >> n;
if (n % == && n % == || n % != && n % == )
cout << "runnian" << endl;
else
cout << "feirun " << endl;
cout << "tip:";
cin >> c;
c = cin.get();
} return ;
} - 不使用EOF实现
#include<iostream>
using namespace std;
int main()
{
int n;
char c = ;//初始化c
while (c!='o')
{
cout << "cinyear:";
cin >> n;
if (n % == && n % == || n % != && n % == )
cout << "runnian" << endl;
else
cout << "feirun " << endl;
cout << "cinchice 'i'is in,'o'is out:";
cin >> c;
} return ;
}
参考文章: