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

admin2021-04-28  21

问题 有以下程序:
    #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=fopen("d2.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

解析 首先用函数fopen()以“wb”的方式打开文件“d2.dat”,然后调用两次fwrite函数将数组a的5个无素,依次输出到文件fp中(共10个字节),然后关闭文件。再次打开文件,他用文件指针指向文件的开头,调用fread函数从文件fp中读取这10个字节的数据到数组a中,此时数组a的内容就变为{1,2,3,0,0,1,2,3,0,0},因此最后的输出结果为“1,2,3,0,0,1,2,3,00”。
转载请注明原文地址:https://kaotiyun.com/show/uHtp777K
0

最新回复(0)