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