帮忙分析一段C程序

来源:百度知道 编辑:UC知道 时间:2024/05/03 20:25:16
程序如下.为什么在统计单词数的时候总是多一个?

#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{
FILE *fp=fopen("d:\\a.txt","r");
if(fp==NULL)
{
cout<<"打开文件失败!"<<endl;
return -1;
}
int num=-1;
char A[30];
while(!feof(fp))
{
fscanf(fp,"%s",A);
++num;
}
cout<<"文件中的单词数为: "<<num<<endl;
return 0;
}

int main()
{
int iReadLen = 0 ;
FILE *fp=fopen("d:\\a.txt","r");

if(fp==NULL)
{
cout<<"打开文件失败!"<<endl ;
return -1;
}
int num=0;
char A[30];
while(!feof(fp))
{
int iReadLen = fscanf(fp,"%s",A);
if ( iReadLen <= 0 )
break ;
++num;
}
cout<<"文件中的单词数为: "<<num<<endl;
char ch[200] ;
gets(ch) ;
gets(ch) ;

return 0;
}