设有如下定义和语句:  FILE *fp;  int data[10],i,n;  fp=fopen("abc.txt","r");  文本文件abc.txt中的数据为:5 81 92 76 51 90,其中第1个数据代表的是它后面数据的个数。若文件已正确

admin2022-04-01  31

问题 设有如下定义和语句:
 FILE *fp;
 int data[10],i,n;
 fp=fopen("abc.txt","r");
 文本文件abc.txt中的数据为:5 81 92 76 51 90,其中第1个数据代表的是它后面数据的个数。若文件已正确打开,则以下程序段中能将文件的最后5个数据依次正确读入到数组data[0]~data[4]中的是(          )。

选项 A、fscanf(fp,"%d",&n);
fscanf(fp,"%d",&data);
for(i=0;i <n;i++)
B、i=0;
while(!feof(fp))
{
fscanf(fp,"%d",&data);
i++;
}
C、for(i=0;!feof(fp);i++)
fscanf(fp,"%d",&data);
D、i=0;
fscanf(fp,"%d",&n);
i++;
while(!feof(fp))
{
fscanf(fp,“%d”,&data);
i++;
}

答案A

解析 由题意可知,abc.txt中,存放了6个整数,其中第一个表示后续数据的个数。要将最后5个数据读入到数组data中,首先需要读取数据的个数5,所以首先调用fscanf()函数,将5读入到整型变量n中,接着通过for循环,i分别取值0~n-1,调用fscanf()函数将n个整数读入data[0]~data[n-1]中,本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/W9kp777K
0

随机试题
最新回复(0)