永发信息网

如何将当前函数出理的结果返回上层函数

答案:1  悬赏:40  手机版
解决时间 2021-01-28 23:49
  • 提问者网友:蔚蓝的太阳
  • 2021-01-28 00:32
如何将当前函数出理的结果返回上层函数
最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-01-28 00:43
你的struct student Stu[N];的位置定义错了。要实现你的要求,有两个解决方案:

1. 把struct student Stu[N];设为全局变量,放在所有函数的外面,这样其他函数不用传参也能直接使用。
2. 把struct student Stu[N];放在主函数中,即int main()中,其他函数使用该结构体数组时,把他的地址传过去就可以了。
第一个就不用说了,第二个给你举个简单地例子:

#include
#include
#define N 5
typedef struct
{
char no[5];
char name[10];
float score[3];
}STU;
void input(STU *stu)
{
int i, j;
for(i=0; i {
for(j=0; j<3; j++)
{
scanf("%f", &stu[i].score[j]);
}
}
}
float avg(STU *stu)
{
int i, j;
float sum = 0;
for(i=0; i {
for(j=0; j<3; j++)
{
sum += stu[i].score[j];
}
}
return sum/N;
}
int main()
{
STU student[N];
float av;
int i, j;
//输入
input(student);
//测试输入是否成功
//for(i=0; i //{
// for(j=0; j<3; j++)
// {
// printf("%.3f ", student[i].score[j]);
// }
// printf("\n");
//}
//求平均值
av = avg(student);
printf("%.3f\n", av);
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯