有以下程序: #include <stdio.h> main() { FILE *fp; int i,k,n; fp=fopen("data.dar","w+"); for(i=1;i<6;

admin2013-06-11  10

问题 有以下程序:    #include <stdio.h>    main()    {      FILE  *fp;      int   i,k,n;       fp=fopen("data.dar","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  2

答案8

解析 程序首先定义了一个文件指针fp,并使用fopen()函数以“w+”方式新建一个可读写文件“data.dat”。然后使用一个for循环,循环变量i从1递增到5,在循环体中每次写入循环变量i的值和 4个空格,当i能被3整除的时候写入一个换行符。所以循环结束时,文件中的内容应该为:
   1    2    3
   4    5
   接下来程序使用rewind()函数,将文件的读写指针调回起始位置。并调用fscanf()函数从文件中读取两个整数到变量k和n。所以最终输出应该为:1  2。故本题选D。
转载请注明原文地址:https://kaotiyun.com/show/qwJp777K
0

最新回复(0)