关于c/c++语言的EOF(C++实现闰年判断)

EOF 是 End Of File 的缩写,在 C 语言标准库中的定义如下:

#define  EOF  (-1)

迄今为止,关于 EOF 作用的观点各异。大多数程序员认为“文件中有一个 EOF 字符,用于表示文件的结尾”。其实,在个人看来这是一种最简单、最粗暴的理解,但实际上,这个观点并不正确(或者说并不完整),在文件所包含的数据中,并没有什么文件结束符。从 EOF 宏的定义中可以看出,EOF 宏的值为 -1,属于 int 类型的数据,在 32 位系统中,可以表示为 0xFFFFFFFF。由此可见,EOF 并不是一个字符,也不是文件中实际存在的内容(在第一个参考链接有详细说明)。

  1. 使用EOF实现闰年不断判断
#include<iostream>
using namespace std;
int main()
{
    int n;
    char c = 0;//初始化c;
    while (c!=EOF)
    {
        cout << "cinyear:";
        cin >> n;
        if (n % 100 == 0 && n % 400 == 0 || n % 100 != 0 && n % 4 == 0)
            cout << "runnian" << endl;
        else
            cout << "feirun " << endl;
        cout << "tip:";
        cin >> c;
        c = cin.get();
    }

    return 0;
}
  1. 不使用EOF实现
#include<iostream>
using namespace std;
int main()
{
    int n;
    char c = 0;//初始化c
    while (c!='o')
    {
        cout << "cinyear:";
        cin >> n;
        if (n % 100 == 0 && n % 400 == 0 || n % 100 != 0 && n % 4 == 0)
            cout << "runnian" << endl;
        else
            cout << "feirun " << endl;
        cout << "cinchice 'i'is in,'o'is out:";
        cin >> c;
    }

    return 0;
}

参考文章:

http://c.biancheng.net/view/345.html

https://blog.csdn.net/qq_34681261/article/details/70147965
原文链接: https://www.cnblogs.com/LJianYu/p/12287896.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/192898

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午6:12
下一篇 2023年2月12日 下午6:12

相关推荐