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

admin2019-02-02  22

问题 若有以下程序:
    #include<stdio.h>
    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/Xrf0FFFM
0

最新回复(0)