A-A+
有以下程序:#include <stdlo.h>main(){ FILE * fp; int
问题详情
有以下程序:#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,并将其输出到屏幕上。