有以下程序 #include main() {FILE*fp; int i,a[6]={1,2,3,4,5,6},k; fp=fopen("dat (a)dat","W+"); fpantf(fp,"%d\n",a[0]); for(i=1;i<6;i++

admin2019-01-11  18

问题 有以下程序
#include
main()
{FILE*fp;
int i,a[6]={1,2,3,4,5,6},k;
fp=fopen("dat
(a)dat","W+");
fpantf(fp,"%d\n",a[0]);
for(i=1;i<6;i++)
{rewind(fp);
fprintf(fp,"%d\n",a);
}
rewind(fp);
fscanf(fp,"%d",&k);
fclose(fp);
printS("%d\n",k);
}
程序运行后的输出结果是(    )。

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

答案A

解析 本题首先定义文件指针变量fp和一个数组a[],再打开一个文件“dat(a)dat”,随后先给文件写入数据a[0],由于rewind函数是将文件指针从当前位置重新指向文件开始位置,所以for循环依次将数组a中的数据写入文件开始位置,退出循环后,文件中的数据顺序为:654321,重新使指针指向文件开始位置,将此时fp指向的数据(即文件中第一个数据6)写入变量k中,关闭文件,输出k值,答案为A选项。
转载请注明原文地址:https://jikaoti.com/ti/Msa0FFFM
0

相关试题推荐
最新回复(0)