有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2 * sizeof(int)字节): #include <stdio.h> main() { FIL

admin2009-01-15  62

问题 有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2 * sizeof(int)字节):    #include  <stdio.h>    main()    {  FILE *fp; int i, a[4]={1,2,3,4},b;       fp=fopen("data.dar","wb");       for(i=0;i<4;i++) fwrite(&a,sizeof(int),1,fp);       fclose(fp);       fp=fopen("data.dar","rb");       fseek(fp,-2L*sizeof(int),SEEK_END);       fread(&b,sizeof(int),1,fp);    /*从文件中读取sizeof(int)字节的数据到变量b中*/       fclose(fp);       printf("%d\n",b);    }    执行后的输出结果(    )。

选项 A、2
B、1
C、4
D、3

答案8

解析 Leek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节,调用此函数后指针指向a[2],fread(&b,sizeof(int),1,fp)是从文件中读取sizeof(int)字节的数据到变量b中,也就是从文件中读取数据3到变量b中。
转载请注明原文地址:https://jikaoti.com/ti/i0S0FFFM
0

最新回复(0)