(ch = fgetc(p)) != EOF;这一句是什么意思呀

2025-03-29 04:47:07
推荐回答(3个)
回答(1):

尽管问题采纳了,我还是说几句吧。
EOF表示文件结尾,对于大多数操作系统而言EOF 为-1,也就是fgetc读到末尾会返回-1
但是如果你把一个含有
(ch = fgetc(p)) != -1;
的c程序在别的系统上运行,其结果可能出错
EOF 其实是包含在#include 里的一个符号常量,即#define EOF -1
不同的操作系统下载c语言编译器 定义的EOF 的值也是不一样,为了以后程序的可移植性,都要使用EOF。

回答(2):

EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。
所以,你的代码就表示,**如果不是文件结尾**,就执行它下面的程序段.

回答(3):

http://zhidao.baidu.com/link?url=_4-5b9XoW4CHw1x52uHEiSn50Npc7IfqAoey54_bY11LM6n0z9MJ9cW1NKYPVany9P1C8c5zwpjLKj9MmpkC0_