A-A+

有下列程序: include<stdio.h> main() {FILE*fp;inta[1

2022-08-12 19:00:23 问答库 阅读 197 次

问题详情

有下列程序: include<stdio.h> main() {FILE*fp;inta[10]={1,2,3,0,0},i; fp=fopen(d2.dat,wb); fwtite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp=fopen(d2.dat,rb); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i<10;i++)printf(%d,a[i]); } 程序的运行结果是
A.1,2,3,1,2,3,0,0,0,0,
B.1,2,3,0,0,1,2,3,0,0,
C.123,0,0,0,0,123,0,0,0,0,
D.1,2,3,0,0,0,0,0,0,0

请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
首先用函数fopen()以”wb”的方式开打文件”d2.dat”,然后调用两次fwrite函数将数组a的5个元素,依次输出到文件fp中,共10个字节,关闭文件。再次打开文件,使用文件指针指向文件的开头,调用fread函数从文件fp中读取这10个字节的数据到数组a中,此时数组a的内容就变为{l,2,3,0,0,1,2,3,0,0},最后的输出结果为”1,2,3,0,0,11,2,3,0,0”。

考点:程序