有以下程序: #include main() {FILE*fp; int i,a[6]={’a’,’b’,’c’,’d’,’e’,’f’,k; fp=fopen(’’data.dat’’,’’w+b’’); fwrite(&a[0],sizeof(int)

admin2020-11-27  16

问题 有以下程序:
#include
main()
{FILE*fp;
int i,a[6]={’a’,’b’,’c’,’d’,’e’,’f’,k;
fp=fopen(’’data.dat’’,’’w+b’’);
fwrite(&a[0],sizeof(int),1,fp);
for(i=1;i<6;i++)
{
fseek(fp,0L,0);
fwrite(&a;sizeof(int),1,fp);
}
fseek(fp,0L,0);
fread(&k,sizeof(int),1,fp);
fclose(fp);
pfintf(’’%c\n’’,k);   
}
程序运行后的输出结果是(  )。

选项 A、abcdef
B、ab
C、f
D、fedcba

答案C

解析 注意打开文件并写入时使用了for循环,而且每次写之前都使用fseek函数从文件开头写入,因此。后面的写入会覆盖前面的内容,因此在读出时,只有一个数组元素被读出,而且是最后一个,因此答案是C选项。
转载请注明原文地址:https://jikaoti.com/ti/Hez0FFFM
0

最新回复(0)