求解释一道C语言文件题目
#include<stdio.h>voidmain(){FILE*fp;inti,a[6]={1,2,3,4,5,6};fp=fopen("d3.dat","wb+");...
#include<stdio.h>
void main()
{
FILE*fp;
int i, a[6]={1,2,3,4,5,6};
fp=fopen("d3.dat","wb+");
fwrite(a,sizeof(int),3,fp);
fseek(fp,zizeof(int)*3,SEEK_SET);
fread(a,zizeof(int),3,fp);
fclose(fp);
for(i=0;i<6;i++)
printf("%d",a[i]);
printf("\n");
}
输出的结果系什么,为什么? 展开
void main()
{
FILE*fp;
int i, a[6]={1,2,3,4,5,6};
fp=fopen("d3.dat","wb+");
fwrite(a,sizeof(int),3,fp);
fseek(fp,zizeof(int)*3,SEEK_SET);
fread(a,zizeof(int),3,fp);
fclose(fp);
for(i=0;i<6;i++)
printf("%d",a[i]);
printf("\n");
}
输出的结果系什么,为什么? 展开
2个回答
展开全部
1 输出的结果为:
123456
2 分析:
void main()
{
FILE*fp;
int i, a[6]={1,2,3,4,5,6};
fp=fopen("d3.dat","wb+");
fwrite(a,sizeof(int),3,fp); //把数组a的前三个元素写入文件;
fseek(fp,sizeof(int)*3,SEEK_SET);//把文件指针从文件头开始向后移动12字节;
fread(a,sizeof(int),3,fp); //从文件中读3个整数值,因为12字节后没有数据,数组a值没有变化。
fclose(fp);
for(i=0;i<6;i++)
printf("%d",a[i]); //数组a的值没有发生变化,输出6个元素,即:123456
printf("\n");
}
123456
2 分析:
void main()
{
FILE*fp;
int i, a[6]={1,2,3,4,5,6};
fp=fopen("d3.dat","wb+");
fwrite(a,sizeof(int),3,fp); //把数组a的前三个元素写入文件;
fseek(fp,sizeof(int)*3,SEEK_SET);//把文件指针从文件头开始向后移动12字节;
fread(a,sizeof(int),3,fp); //从文件中读3个整数值,因为12字节后没有数据,数组a值没有变化。
fclose(fp);
for(i=0;i<6;i++)
printf("%d",a[i]); //数组a的值没有发生变化,输出6个元素,即:123456
printf("\n");
}
追问
嗯,我觉得你分析得很好,但是答案是456456喔,为什么呢?我看你的还觉得你的对,能再仔细看一下有没有错嘛?
追答
我亲自测试过的,敢拿脑袋保证的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询