有以下程序
#include<stdio.h>
main()
FILE *fp;int i=20,j=30,k,n;
fp=fopen("d1.dat","w");
fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);
fclose(fp);
程序运行后的输出结果是( )。
A.20 30
B.20 50
C.30 50
D.30 20
参考答案:A
解析: 分析程序段,首先以只写方式打开文件,利用fprintf函数将i和j的值写入到文件d1.dat中,然后关闭文件;再以只读方式打开文件.利用格式化输入函数fscanf将文件中的数据赋值给k和n,最后输出k和n的值,分别是20和30。