问答题 给定程序中,函数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。