有关一个EOF的问题求助。。。。

下面自定义函数中的ret_val=fgets(st,n,stdin)读入成功将返回指向st首元素指针,但是这样的话,
假如最后一行是xxxxxxEOF,读取EOF后返回NULL,但是前面的xxxxx字符不久被忽略了吗?难道
EOF必须单独一行吗?谢谢图片说明

假如最后一行是xxxxxxEOF,读取EOF后返回NULL
不是,是当读取的第一个字符是EOF才返回NULL,如果前面有xxxx,是不会的

fgets 用于读取一行数据,以xxxxxEOF 为例,它会先读取处理完EOF之前的数据,之后还需一次fgets 单独处理EOF返回NULL