有下列程序 #include<stdio.h> main( ) {FILE*fp; int i,a[6]={1,2,3,4,5,6}; fp=fopen("d.dat","w+b"); for(i=0;i<6;i++) fwrite(&a[i],sizeo

admin2019-01-11  21

问题 有下列程序
#include<stdio.h>
main( )
{FILE*fp;
int i,a[6]={1,2,3,4,5,6};
fp=fopen("d.dat","w+b");
for(i=0;i<6;i++)
fwrite(&a,sizeof(int),1,fp);
rewind(fp);
fread(&a[3],sizeof(int),3,fp);
felose(fp);
for(i=0;i<6;i++)
prinff("%d,",a);
}
程序执行后的输出结果是(    )。

选项 A、4,5,6,4,5,6,
B、1,2,3,4,5,6,
C、4,5,6,1,2,3,
D、1,2,3,1,2,3,

答案D

解析 程序首先以读和写二进制文件的方式打开文件d.dat,然后通过for循环,调用fwrite( )函数将数组a中的各个元素写入到d.dat中,然后使用rewind( )函数,将文件指针fp重定位到文件的开始位置,再调用fread( )函数将文件的前三个整数1,2,3读入a[3]开始的位置,所以此时数组a中的元素值分别为:1,2,3,1,2,3,本题答案为:D
转载请注明原文地址:https://jikaoti.com/ti/6Ya0FFFM
0

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