下列程序的运行结果是( ). #include <stdio.h> main() { FILE *fp; i 答案为什么不是3 5

下列程序的运行结果是(38)。#include<stdio.h>main(){FILE*fp;inta=3,b=5,c=8,k,n;fp=fopen("test.dat"... 下列程序的运行结果是( 3 8 )。
#include <stdio.h>
main()
{ FILE *fp;
int a=3,b=5,c=8,k,n;
fp=fopen("test.dat","w");
fprintf(fp,"%d\n",a);
fprintf(fp,"%d %d\n",b,c);
fclose(fp);
fp=fopen("test.dat","r");
fscanf(fp,"%d%*d%d",&k,&n);
printf("%d %d\n",k,n);
fclose(fp);
}
答案为什么不是5 8
展开
 我来答
藤原子大雄
2018-05-12 · TA获得超过7197个赞
知道大有可为答主
回答量:6977
采纳率:82%
帮助的人:1757万
展开全部
程序以写的方式打开了一个文件 d2.dat
heart阿飞55
2018-05-12 · TA获得超过1086个赞
知道大有可为答主
回答量:3030
采纳率:82%
帮助的人:557万
展开全部
1.你这段程序本来就是错的,你rewind后,文件指针是返回文件头了,但是你打开文件文件的方式是只写,没有读的功能,所以不可能读出数据,你for循环打印的数据其实是你前面初始化的x。 2.如果用fwrite(x,sizeof(int),3,fp);只能将1、2、3写入文件。 完整修改数据如下: #include <stdio.h> int main() { FILE *fp; int x[6]={1,2,3,4,5,6},i; fp=fopen("test.dat","rwb"); int ii = fwrite(x,sizeof(int),6,fp); rewind(fp); int y[6]={0}; fread(y,sizeof(int),6,fp); for(i=0;i<6;i++) printf("%d",y[i]); fclose(fp); return 0; }
追问
不是错的,考试题通用尿性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式