这是我的代码。
#include<stdio.h>
void main(){
FILE *fp;
int a,b;
fp=fopen("hello.txt","r");
while(!feof(fp)){
fscanf(fp,"%d %d",&a,&b);
printf("%d %d\n",a,b);
}
}
我的 hello.txt 文件是
1 2
3 4
我的输出是
1 2
3 4
4 4
为什么我的最后一行会被打印两次。难道fp已经到达了EOF?
此外,stackoverflow上的标签说“通常情况下,当它被使用时,使用它的代码是错误的。”这是什么意思?
谢谢。
main
函数应该返回int
类型(尽管编译器可能允许其他类型的返回值,但不要这样做)。 - Jacob Parkereof
确实几乎永远不是你想要的。 - Kerrek SBfeof
: https://dev59.com/jG035IYBdhLWcg3wbPU5 - William Pursell