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

发布时间:2021-04-12 11:25:33

单项选择题:
有以下程序:
#include <stdio.h>
main()
FILE *fp; int i, a[6]=1,2,3 ,4,5,6;
fp=fopen(d3.dat,w +b);
fwrite(a,sizeof(int), 6, fp);
fseek(fp, sizeof(int)*3, SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/
fread(a, sizeof(int), 3, fp); fclose(fp);
for(i=0; i<6; i++) printf(%d,, a[i]);

程序运行后的输出结果是
A) 4,5,6,4,5,6,
B) 1,2,3,4,5,6,
C) 4,5,6,1,2,3,
D) 6,5,4,3,2,1,

网友回答

答案:A
  解析:首先利用fwrite函数将数组a中的数据写到文件中,接着fseek函数的功能是读文件的位置,指针从文件头向后移动3个int型数据,这时文件位置指针指向的是文件中的第4个int数据“4”,然后fread函数将文件fp中的后3个数据4,5,6读到数组a中,这样就覆盖了数组中原来的前3项数据。最后数组中的数据就成了{4,5,6,4,5,6}。
以上问题属网友观点,不代表本站立场,仅供参考!