问题 单项选择题

有以下程序:
#include <stdio.h>
main()
FLLE *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.dar","r");
fp=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

解析: 本题首先以创建方式打开文件d1.dat,两次调用fpnntf()把i和j的值写到文件d1.dat中,文件d1.dat的内容为20<回车>30<回车>后把该文件关闭再以读的方式打开,文件位置指针指向文件头,再通过fscanf()函数从中读取两个整数到k和n中,由于格式符无间隔,因此输入数据可以用回车隔开,故输入的k值为20,n值为30。所以4个选项中A正确。

解答题
口语交际,情景问答题