我编写了这段代码来从输入文件中读取并显示数字:
#include<stdio.h>
int main()
{
int i;
FILE * f;
f=fopen("inputA.txt","r");
while (!feof(f)){
fscanf(f, "%i", &i);
printf("%i\t", i);
}
printf("\n");
}
输出显示最后一个数字两次。我猜是feof
的问题但我不知道如何解决。有什么想法吗?
最佳答案
while( !feof(x) )
不正确。
您必须检查 fscanf() 的返回值,如果调用成功,则仅打印 i
。如果 fscanf() 返回值指示错误,则您将检查 feof() 并从循环中中断。
关于c - 在 C 语言中,fscanf 读取最后一个数字两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26402331/