永发信息网

50、有以下程序(提示:程序中fseek (fp, -2L*sizeof(int), SEEK_END ); 语句的作用是使位置指针从文件尾

答案:1  悬赏:40  手机版
解决时间 2021-02-18 03:51
  • 提问者网友:我没有何以琛的痴心不悔
  • 2021-02-17 10:19
C语言的.....麻烦说明详细过程
50、有以下程序(提示:程序中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.dat","wb");
for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);
fclose(fp);
fp=fopen("data.dat","rb");
fseek(fp,-2L*sizeof(int).SEEK_END);
fread(&b,sizeof(int),1,fp);
fclose(fp);
printf("%d\n",b);
}
执行后输出结果是(D)
A)2 B)1 C) 4 D)3
最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-02-17 11:30
fseek(fp,-2L*sizeof(int).SEEK_END); 就是把指针移到距离文件结尾 8个字节处 然后读取
( 此处设 int 型数据被分配4 个字节) 那么执行fread(&b,sizeof(int),1,fp);的时候 读取的位置 就是 a[2] 的写入位置 也就是说读取的数据 我为 3
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯