填空题 1.  给定程序中,函数fun的功能是:将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
    请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
    注意:部分源程序给出如下。
    不得增行或删行,也不得更改程序的结构!
    试题程序:
    #include<stdio.h>
    #include<stdlib.h>
    void fun(char *s, int a, double f)
    {
    /*********found*********/
    ______fp;
    char str[100], str1[100],str2[100];
    int al; double f1;
    fp = fopen("file1.txt","w");
    fprintf(fp,"%s %d %f\n",s,a,f);
    /*********found*********/
    ______;
    fp = fopen("file1.txt", "r");
    /*********found*********/
    fscanf (______,"%s%s%s", str,str1, str2);
    fclose(fp);
    a1 = atoi(str1);
    f1 = atof(str2);
    printf("\nThe result : \n\n%s%d%f\n", str, a1, f1);
    }
    main()
    {  char a[10]="Hello!";
    int b=12345;
    double c=98.76;
    fun(a,b,c);
    }
  • 1、
【正确答案】 1、(1)FILE*    (2)fclose(fp)    (3)fp    
【答案解析】
   填空1:从使用fp = fopen("filel.txt", "w")可知fp应该是文件类型指针,因此本空应该填写FILE*。
   填空2:当对fp作打开操作的时候,并进行不同的操作前,应该对其关闭,因为在第一次打开时是对fp进行写操作,而在第二次打开后进行的是读操作,因此应该先对fp进行关闭,本空填fclose(fp)。
   填空3:fscanf()是把文本文件输出,因此本空只能填写fp。