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

admin2013-02-23  22

问题 有以下程序    #include <stdio.h>   main()    {      FILE  *fp;      int  i,k,n;      fp=fopen("data.dar",  "w+");      for(i=1;i<6;i++)      {         fprintf(fp,"%d     ",1);         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.daf".然后使用一个for循环,循环变量i从1递增到5,在循环体中每次写入循环变量i的值和4个空格,当i能被3整除的时候写入一个换行符。所以循环结束时,文件中的内容应该为:
  1   2   3
  4   5
   接下来程序使用rewind()函数,将文件的读写指针调回起始位置。并调用fscanf()函数从文件中读取两个整数到变量k和n。所以最终输出应该为:1  2。故本题选D。
转载请注明原文地址:https://kaotiyun.com/show/E6Jp777K
0

最新回复(0)