有以下程序  #include   <stdio.h>  main()  {  FILE  *fp;     int’ a[10]={1,2,3,0,0},i;     fp = fopen("d2.dat", "wb");     fwrite(a, s

admin2009-06-20  29

问题 有以下程序  #include   <stdio.h>  main()  {  FILE  *fp;     int’ a[10]={1,2,3,0,0},i;     fp = fopen("d2.dat", "wb");     fwrite(a, sizeof(int), 5, fp);     fwrite(a, sizeof(int), 5, fp);     fclose(fp);     fp = fopenCd2.dat", "rb");     fread(a, sizeof(int), 10, fp);     fclose(fp);     for (i=0; i<10; i++) printf("%d,", a); }

选项 A、1,2,3,0,0,0,0,0,0,0,
B、1,2,3,1,2,3,0,0,0,0,
C、123,0,0,0,0,123,0,0,0,0,
D、1,2,3,0,0,1,2,3,0,0,

答案D

解析 本题首先定义了…个文件指针fp,然后通过fopen()函数打开一个名为"d2.dat"的文件,参数"wb"的意思是:为写入打开的二进制文件。然后通过fwrite()函数,将数组a的前5个元素2次写入d2.dat文件中,接下来用fclose()函数关闭此文件。然后又使用fopen()函数打开d2.dat文件,参数"rb"的意思是:为读入打开的二进制文件。接下来通过fread()函数从文件中读入10个int型数据到数组a中。然后又使用fclose()函数再次关闭此文件。最后通过for循环,输出数组a的所有10个元素。不难得知,现在a中的元素已经变为{1,2,3,0,0,1,2,3,0,0},故最终输出结果为1,2,3,0,0,1,2,3,0,0,0,。应该选择D。
转载请注明原文地址:https://jikaoti.com/ti/x5I0FFFM
0

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