C语言中,feof读取到文件末尾时,返回的是数值,还是EOF?

stdio.h定义的好像就是#define EOF -1,那返回的到底是什么?课本说返回的是非零,但考试题上没这个选项啊。。。求解

stdio.h中定义#define EOF -1,EOF在C++中的定义为:const int EOF = -1;EOF其实是整数-1,用于从文件读取数据的时候表示已经超越文件末尾这种错误状态。如果IO操作的结果是EOF,一般就意味着这次IO是失败的。
所以,当读取到文件末尾时,就返回EOF也就是-1

feof 返回的是数值
feof是C语言标准库函数,其原型在stdio.h中,其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0
http://blog.csdn.net/a1066570234/article/details/78653862