选择题   有以下程序:
    #include  <stdio.h>
    main()
    {  FILE  *fp;
    int i,a[6]={1,2,3,4,5,6},k;
    fp=fopen('data.dat','w+');
    fprintf(fp,'%d\n',a[0]);
    for(i=1;i<6;i++)
    {  rewind(fp);
    fprintf(fp,'%d\n',a[i]);
    }
    rewind(fp);
    fscanf(fp,'%d',&k);
    fclose(fp);
    printf('%d\n',k);
    }
    程序运行后的输出结果是
 
【正确答案】 A
【答案解析】本题首先定义文件指针变量fp和一个数组a[],再打开一个文件data.dat,随后先给文件写入数据a[0]。由于rewind函数是将文件指针从当前位置重新指向文件开始位置,所以for循环依次将数组a中的数据写入文件开始位置,退出循环后,文件中的数据顺序为:654321。重新使指针指向文件开始位置,将此时fp指向的数据(即文件中第一个数据6)写入变量k中,关闭文件,输出k值,答案为选项A。