问题
单项选择题
有以下程序:
#include <stdlo.h>
main( )
FILE * fp; int i,k,n;
fp = fopen( "data. dat" ,"w +" )
for(i = 1 ;i<6;i ++ )
fprintf(fp."% d",i);
if(i%3 ==0)fprintf(fp," \n");
rewind(fp);
fscanf(fp." % d% d" ,&k, &n) ;printf(" % d%d \n" ,k,n);
fclose(fp);
A.0 0
B.123 45
C.1 4
D.1
答案
参考答案:D
解析: 在for循环中用fpfinff(fp,"%d",i);将循环变量的值1~5输出到fp指向的文件 data.dat中,输出3个数后换行。执行rewind(fP)使文件指针重新返回到文件的开头,再执行fscanf(fp,"%d%d",&k,&n)将磁盘文件中的前两个数输入给变量k,n,并将其输出到屏幕上。