若有以下程序: #include struct s{int a;int b;}; main() { FILE *fp; int i,a[6]={1,2,3,4,5,6},k; fp=fopen("data.dat"

admin2018-01-14  26

问题 若有以下程序:
   #include
   struct s{int a;int b;};
   main()
   {
   FILE *fp;
   int i,a[6]={1,2,3,4,5,6},k;
   fp=fopen("data.dat","w+");
   for(i=0;i<6;i++)
   {
   fseek(fp,0L,0);
   fprintf(fp,"%d\n",a);
   }
   rewind(fp);
   fscanf(fp,"%d",&k);
   fclose(fp);
   printf("%d\n",k);
   }
   则程序的输出结果是(    )。

选项 A、123456
B、1
C、6
D、21

答案C

解析 本题考查文件操作函数,fseek用于二进制方式打开的文件,并移动文件,读写指针位置。将文件内部的位置指针重新指向一个流(数据流/文件)的开头,所以最后只保留了6。故C选项正确。
转载请注明原文地址:https://jikaoti.com/ti/xSa0FFFM
0

最新回复(0)