单选题
有以下程序:
#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);
【正确答案】
D
【答案解析】[解析] 在for循环中用fpfinff(fp,"%d",i);将循环变量的值1~5输出到fp指向的文件 data.dat中,输出3个数后换行。执行rewind(fP)使文件指针重新返回到文件的开头,再执行fscanf(fp,"%d%d",&k,&n)将磁盘文件中的前两个数输入给变量k,n,并将其输出到屏幕上。