n++前还有个读操作吧,因为当fp指到文件末尾位置时,这一步读操作并没使fp的flag改为-1,只有当在进行一次读操作时,才会改变,这时feof()才能返回文件结束信息最好这样写读操作;n++;while(){printf();读操作;n++;}
奇怪的,没注意过,难道指向最后一个字节后也算一次,然后才是返回结束?