帮忙分析一下下面这道程序的运行详细运行过程(因为是笔试试题)
#include<stdio.h>voidmain(){FILE*fp;inti;charch[]="abcd",t;fp=fopen("abc.dat","wb+");...
#include <stdio.h>
void main()
{FILE *fp; int i;
char ch[]="abcd",t;
fp=fopen("abc.dat","wb+");
for(i=0;i<4;i++) fwrite(&ch[i],2,1,fp);
fseek(fp,-3L,SEEK_END);
fread(&t,1,1,fp);
fclose(fp);
printf("%c\n",t);
} 展开
void main()
{FILE *fp; int i;
char ch[]="abcd",t;
fp=fopen("abc.dat","wb+");
for(i=0;i<4;i++) fwrite(&ch[i],2,1,fp);
fseek(fp,-3L,SEEK_END);
fread(&t,1,1,fp);
fclose(fp);
printf("%c\n",t);
} 展开
1个回答
展开全部
#include <stdio.h>
void main()
{FILE *fp; int i;
char ch[]="abcd",t;
fp=fopen("abc.dat","wb+"); //新建一文件
for(i=0;i<4;i++)
fwrite(&ch[i],2,1,fp); //每次两个字节写入文件.
依次为
ab
bc
cd
dNULL(NULL为不可见)
文件中相当于是abbccddNULL
fseek(fp,-3L,SEEK_END);文件指针fp 后退 3个字节.指向d
fread(&t,1,1,fp);
fclose(fp);
printf("%c\n",t); //输出d
}
void main()
{FILE *fp; int i;
char ch[]="abcd",t;
fp=fopen("abc.dat","wb+"); //新建一文件
for(i=0;i<4;i++)
fwrite(&ch[i],2,1,fp); //每次两个字节写入文件.
依次为
ab
bc
cd
dNULL(NULL为不可见)
文件中相当于是abbccddNULL
fseek(fp,-3L,SEEK_END);文件指针fp 后退 3个字节.指向d
fread(&t,1,1,fp);
fclose(fp);
printf("%c\n",t); //输出d
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询