有以下程序: #include <stdio.h> main() { FILE *fp;int i,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++) fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp); { 执行后的输出结果是( )。
A.1 2
B.123 0
C.1 23
D.0 0
参考答案:B
解析: fprintf、fscanf函数与printf、scanf函数作用相仿,都足格式化读写函数,其区别在于:fprintf和fscanf函数的读写对象不是终端而是磁盘文件。这两个函数的一般调用方式为: fprintf(文件指针,格式字符串,输出表列); fscanf(文件指针,格式字符串,输入表列); 程序首先将123写入d1.dat文件中,再从该文件中将数据读给变量k和n。由于文件d1.dat中的数据是123,按格式“%d%d”读数据时将123读给k,n没有得到读入的数据,保持初始值0。