有以下程序 #include <stdio.h> main( ) { FILE *fp;int i,a[6]={1,2,3,4,5,6}; fp=fopen("d3.dat","w+b"); fwrite(a,size

admin2010-09-05  62

问题 有以下程序
   #include <stdio.h>
   main( )
   { FILE *fp;int i,a[6]={1,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);
   }
   程序运行后的输出结果是

选项 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}。
转载请注明原文地址:https://jikaoti.com/ti/TwI0FFFM
0

最新回复(0)