选择题

有以下程序:
#include <stdio.h>
main( )
{ FILE *fp; int i,a[6]={1,2,3,4,5,6};
fp =fopen("d2.dat","w+");
fbr(i=0;i<6;i++) fprintf(fp,"%d\n",a[i]);
rewind(fp);
for (i=0;i<6;i++) fscanf(fp,"%d",&a[5-i]);
fclose(fp);
for(i=0;i<6;i++) printf("%d,",a[i]);
}
程序运行后的输出结果是

【正确答案】 B
【答案解析】

本题考查文件操作函数 fprintf 和 rewind 函数。 rewind 函数将文件内部的位置指针重新指向一个流(数据流/文件)的开头, 程序首先是将数组 a 的 6 个数写入 d2 文件中,然后又将 a 数组从后往前覆盖 d2 中的内容, 所以结果为 6, 5, 4, 3, 2, 1, 故选项 B 正确。