问题 单项选择题

已知一个文件中存放若干工人档案记录,其数据结构如下:
struct a
char number[100];
int age;
float p[6];

定义一个数组:struct a number[10];
假定文件已正确打开,不能正确地从文件中读入10名工人数据到数组b中的是( )。

A) fread(b,sizeof(struct a),10,fp);
B) for(i=0;i<10;i++)
fread(b[i],sizeof(struct a),1,fp);
C) for(i=0;i<10;i++)
fread(b+i,sizeof(struct a),1,fp);
D) for(i=0;i<5;i+=2)
fread(b+i,sezeof(struct a),2,fp);

答案

参考答案:B

解析: 数据块输入/输出函数的调用格式为:fread(buffer,size,count,fp),其中:“buffer”是一个指针,对于fread来说,它是读入数据的存放地址。“size”是要读写的字节数:“count”是要进行读写多少个size字节的数据项;“fp”是指文件型指针。选项B)中b[i]是一个数组,不是指针,需改为&b[i]。

问答题
单项选择题 A1型题