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