试题与答案

有以下程序#include main() {FILE * fp;int i,a[

题型:单项选择题

题目:

有以下程序#include main() {FILE * fp;int i,a[6]={l,2,3,4,5,6};fp=fopen("d3.dat","W+b");fwrite(a,sizeof(int),6,fp);fseek(fp,sizeof(int)* 3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数 据*/ fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;i<6;i++)printf("%d,",a[i]);} 程序运行后的输出结果是【 】。

A.4,5,6,4,5,6,

B.1,2,3,4,5,6,

C.4,5,6,1,2,3,

D.6,5,4,3,2,1,

答案:

参考答案:A

解析:首先利用fwrite函数将数组a中的数据写到文件中,接着fseek函数的功能是读文件的位置,指针从文件头向后移动3个int型数据,这时文件位置指针指向的是文件中的第4个int数据"4"。然后fread函数将文件fp中的后3个数据4,5,6读到数组a中,这样就覆盖了数组中原来的前3项数据。最后数组中的数据就成了{4,5,6,4,5,6},故本题答案为A)。

试题推荐
微信公众账号搜索答案