首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

EOF输入跟读取的原理是什么

2013-07-16 
EOF输入和读取的原理是什么?#include stdio.hmain(){double ncfor (nc 0 getchar() ! EOF ++nc)p

EOF输入和读取的原理是什么?

#include <stdio.h>
main()
{
    double nc;
    for (nc = 0; getchar() != EOF; ++nc)
        ;
    printf("%.0f\n",nc);
}


如果输入内容后不按回车直接按CTRL+Z再回车,就没有任何输出

如果输入内容先按回车再按CTRL+Z再按回车,才会有输出,不过会多出一个,应该是多计算了一个换行符
解决的方法就是。。输入内容之后按CTRL+Z,回车,再按CTRL+Z,这样就不会多出一个,但是这样做实际上手动输入了两次EOF

问题:
请问读取EOF的原理是什么。。。getchar()不是一次读取一个输入么,为什么当^Z出现在该行末尾的时候,实际已经读取到了EOF,却没有给出输出呢? EOF C
[解决办法]
http://hi.baidu.com/luosiyong/item/998dbaffa6d3b15ec9f337e8
[解决办法]
Ctrl + Z 只有出现在一行的行首才代表输入结束.
另外, 用 double 做循环变量还真少见.

热点排行