问答题 给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在 下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <stdlib.h>
void fun(char *s,int a,double f)
{
/**********found**********/
______ fp;
char str[100],str1[100],str2[100];
int a1;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)FILE* (2)fclose(fp) (3)fp
答案考生文件夹 [解析] 本题中函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
第一空:“fp=fopen("file1.txt","w");”可知fp是文件型指针,故第一空处fb的定义应为“FILE*”。
第二空:第二处的后面一句是“fp=fopen("file1.txt","r");”再次打开file1.txt,因此在第二次打开file1.txt之前必须将文件关闭,故第二处是关闭文件,即“fclose(fp)”。
第三空:fscanf的调用形式是:fscanf(fp,格式字符串,输入列表),因此第三空处应为“fp”,从文件中读出字符串、整数、浮点数。
[考点] 数据类型和常量、变量、文件。