永发信息网

C语言 全国计算机二级 {FILE *fp, int k,n,j,a[6]=<1,2,3,4,5,6};fp=fopen("d2.dat","w"); f

答案:3  悬赏:0  手机版
解决时间 2021-03-21 13:09
  • 提问者网友:wodetian
  • 2021-03-21 04:27
#include<stdio.h>
main()
{FILE *fp,
int k,n,j,a[6]=<1,2,3,4,5,6};
fp=fopen("d2.dat","w");
for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);
fclose(fp);
fp=fopen("d2.dat","r");
for(i=0;i<3;i++)fscanf(fp,"%d%d",&k,&n);
fc|ose(fp);
printf("%d,%d\n",k,n);
)
程序运行后的输出结果是( )。
A)1,2
B)3,4
C)5,6
D)123.456

为什么答案是C呢??能不能解释一下~~
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-03-21 05:18
兄弟! 是这样的!
程序开始将1,2,3,4,5,6写入"d2.dat”中,以换行符\n分隔。然后打开"d2.dat”,读取其中的数。
注意:for(i=0;i<3;i++)fscanf(fp,"%d%d",&k,&n);这段程序的意思是循环读取数字到k,n中。即1,2→3,4→5,6循环赋值给k,n。最后k,n的就是5,6。希望你能够明白!
全部回答
  • 1楼网友:毛毛
  • 2021-03-21 07:49
你好! 先把1-6这6个数字写入文件d2.dat,然后保存,之后再打开这个文件读取其中的数据到变量k和n中,最后一次读取了5和6这两个数字,故打印为5,6。 我的回答你还满意吗~~
  • 2楼网友:蓝房子
  • 2021-03-21 06:29
1给k,2给n。 for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]); 你看你网d2.dat里输入的时候,每输入一个数字占一行,怎么可能同时把多行的数字赋给一个变量呢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯