★C语言 关于文件的一个小程序
以下程序用来统计文件中字符的个数(函数feof用以检查文件是否结束,结束时返回非零)#include<stdio.h>main(){FILE*fp;longnum=0;f...
以下程序用来统计文件中字符的个数(函数feof用以检查文件是否结束,结束时返回非零)
#include <stdio.h>
main() {
FILE *fp;
long num=0;
fp=fopen("fname.dat","r");
while( __________ ){
fgetc(fp); num++;}
printf("num=%d\n",num);
fclose( fp ); }
下面选项中,填入横线处不能得到正确结果的是
A)feof(fp)
B)feof(fp)==NULL
C)!feof(fp)
D)feof(fp)==0
答案选C。题目选不能得到正确结果的是,C和D感觉是一样的啊,这道题是不是应该选A? 展开
#include <stdio.h>
main() {
FILE *fp;
long num=0;
fp=fopen("fname.dat","r");
while( __________ ){
fgetc(fp); num++;}
printf("num=%d\n",num);
fclose( fp ); }
下面选项中,填入横线处不能得到正确结果的是
A)feof(fp)
B)feof(fp)==NULL
C)!feof(fp)
D)feof(fp)==0
答案选C。题目选不能得到正确结果的是,C和D感觉是一样的啊,这道题是不是应该选A? 展开
3个回答
展开全部
feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0。
所以 A显然不对啊 如果文件没有结束 则 feof(fp) 为0 也就是为假 while循环根本不执行。
而且 c和d是一个意思!
所以 A显然不对啊 如果文件没有结束 则 feof(fp) 为0 也就是为假 while循环根本不执行。
而且 c和d是一个意思!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while语句是当。。。。。,所以D是当feof(fp)==0的时候,这时候还在读数据,所以继续,当读到文件尾的时候,feof(fp)=1了,这时候就不满足feof(fp) == 0,就停止读文件,所以D正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BCD就是一个意思(B的NULL这个宏如果是0的话) 只有A是错误的,你的看法是对的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询