选择题   有以下程序:
    #include<stdio.h>
    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++)
    fprintf(fp,'%d\n',a[5-i]);
    rewind(fp);
    for(i=0;i<6;i++)
    {  fscanf(fp,'%d',&k);
    printf('%d,',k);
    }
    fclose(fp);
    }
    程序运行后的输出结果是
 
【正确答案】 A
【答案解析】fopen('data.dat','w+');打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。rewind(rp);使文件fp的位置指针指向文件开始。fprintf(fp,'%d\n',a[5-i]);将a[i]输出到fp指向的文件中。fscanf(fp,'%d',&k);将fp读入到变量k中。第一个for循环将数组中元素倒着输入到fp指向的文件中,rewind则指向文件开始,因此打印的是数组a的倒序,故打印结果为6,5,4,3,2,1。答案为选项A。