{ char a[10]=\ double c= ; fun(a,b,c); }
----------------------------------------------------------------------------------------------------------------- 【参考答案】
(1)FILE*??(2)fclose(fp)??(3)fp 【解题思路】
填空1:从使用fp=fopen(\可知fp应该是文件类型指针,因此本空因该填写FILE*。
填空2:当对fp作打开操作的时候,并进行不同的操作前,应该对其关闭,因为在第一次打开时是对fp进行写操作,而在第二次打开后进行的是读操作,因此应该先对fp进行关闭,本空填fclose(fp)。 填空3:fscanf()是把文本文件输出,因此本空只能填写fp。
2、程序修改
下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生的数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件中,不得增行或删行,也不得更改程序的结构。 ----------------------------------------------------------------------------------------------------------------- #include <> #include <> #include <> #include <> #include <> #define N 10 typedef struct ss { char num[10]; int s;
} STU;
STU *fun(STU a[], int m) { STU b[N],*t; int i, j,k;
/*************found**************/ *t=calloc(m,sizeof(STU)); for(i=0;i { for (i=j=0;i return t; } outresult(STU a[],FILE *pf) { int i; for(i=0;i fprintf(pf, \ a[i].num, a[i].s); fprintf(pf, \ } void main() { STU a[N]={{ \\\\\\\\ { \\\\\\\\\ \ STU *pOrder; int i, m;
相关推荐: