关于c语言 指针,函数调用的问题

题目要求:指针的作业题。一个班有4个学生,五门课,求1:第一门课的平均分2:找出平均成绩在90分以上,或全部课程成绩在85分以上的学生。用函数实现;我的程序如下:程序代码... 题目要求:指针的作业题。一个班有4个学生,五门课,求1:第一门课的平均分 2:找出平均成绩在90分以上,或全部课程成绩在85分以上的学生。用函数实现 ; 我的程序如下: 程序代码: #include "stdio.h" #include "conio.h" #include "string.h" ... 题目要求:指针的作业题。一个班有4个学生,五门课,求1:第一门课的平均分 2:找出平均成绩在90分以上,或全部课程成绩在85分以上的学生。用函数实现 ; 我的程序如下: 程序代码: #include "stdio.h" #include "conio.h" #include "string.h" float top(float(*p)[5],int n) { float sum=0,ave=0; int i,j,a=0; for(i=0;i<n;i++) { sum=0; a=0; for(j=0;j<n+1;j++) { if(*(*(p+i)+j)>=85) a++; sum=sum+*(*(p+i)+j);} ave=sum/(n+1); if(ave>=90) printf("the student number ave>90 is:%d\n",i) ; else if(ave<90&&a==5) printf("the student number>85 is:%d\n",i) ; } } float average(float(*p)[5],int n) { int i,j=0; float ave=0,sum=0; for(i=0;i<n;i++) sum=sum+*(*(p+i)+j); ave=sum/n; printf("average=%5.2f\n",ave); } main() { float a[4][5]={{70,75,89,64,51},{89,92,88,97,93},{62,51,28,75,59},{85,86,87,89,88}}; float average(float(*p)[5],int n); float top(float(*p)[5],int n); int i,m; average(a,4); top(a,4); getch(); } 问题是,这个程序运行会一闪而过。 但是,如果在主程序中,只用一个函数,如average(a,4)或top(a,4),都可以得到正确结果,这二个函数一起运行, 就会闪过去。 求解。 谢谢各位 展开 展开
 我来答
卜伯司辉
2020-02-12 · TA获得超过3655个赞
知道大有可为答主
回答量:3061
采纳率:34%
帮助的人:160万
展开全部
你把top()和average()两个函数后加上return语句,就好了,可以返回任何一个数值,或者把两个函数的返回类型的那个float去掉,换做void就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式