c语言中结构体变量做函数参数的问题

C语言中调用函数时,以结构体变量作为函数参量一该如何编写?这里有一段代码要求调用函数算学生的平均成绩和总成绩#include<stdio.h>#defineM... C语言中调用函数时,以结构体变量作为函数参量一该如何编写?这里有一段代码要求调用函数算学生的平均成绩和总成绩#include<stdio.h>#define M 3struct date { int num; char name[10]; char sex; int age; float score[5]; }student[M];void main(){ int i,j; void f(date); printf("请按顺序输入学生数据\n"); for(i=0;i<M;i++) { printf("姓名:"); scanf("%s",student[i].name); printf("学号:"); scanf("%d",&student[i].num); printf("性别:"); scanf("%c%c",&student[i].sex); printf("年龄:"); scanf("%d",&student[i].age); printf("语文成绩:"); scanf("%f",&student[i].score[0]); printf("数学成绩:"); scanf("%f",&student[i].score[1]); printf("英语成绩:"); scanf("%f",&student[i].score[2]); if(i!=2) printf("请输入下一个学生的数据\n"); } for(i=0;i<M;i++) f(student); for(i=0;i<M;i++) printf("第%d位同学的总分为%f,平均分为%f\n",i+1,student[i].score[3],student[i].score);}void f(date student){ int i,j; for(i=0;i<M;i++) { for(j=0;j<3;j++) { student[i].score[3]+=student[i].score[j]; student[i].score[4]=student[i].score[3]/3; } }}问题出在第36行的调用函数里 展开
 我来答
shh12580
2011-12-01 · TA获得超过253个赞
知道答主
回答量:74
采纳率:0%
帮助的人:58.2万
展开全部
你有几处错误,以下是修改后的代码
#include<stdio.h>
#define M 3
struct date
{
int num;
char name[10];
char sex;
int age;
float score[5];
}student[M];
void f(struct date student[]);
void main()
{
int i,j;

printf("请按顺序输入学生数据\n");
for(i=0;i<M;i++)
{
printf("姓名:");
scanf("%s",student[i].name);
printf("学号:");
scanf("%d",&student[i].num);
printf("性别:");
scanf("%c%c",&student[i].sex);
printf("年龄:");
scanf("%d",&student[i].age);
printf("语文成绩:");
scanf("%f",&student[i].score[0]);
printf("数学成绩:");
scanf("%f",&student[i].score[1]);
printf("英语成绩:");
scanf("%f",&student[i].score[2]);
if(i!=2)
printf("请输入下一个学生的数据\n");
}
/*for(i=0;i<M;i++)*/
f(student);
for(i=0;i<M;i++)
printf("第%d位同学的总分为%f,平均分为%f\n",i+1,student[i].score[3],student[i].score);
}
void f(struct date student[])
{
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<3;j++)
{
student[i].score[3]+=student[i].score[j];
student[i].score[4]=student[i].score[3]/3;
}
}
}
楚今万丝娜
2020-05-07 · TA获得超过3834个赞
知道大有可为答主
回答量:3108
采纳率:25%
帮助的人:199万
展开全部
当成基本类型来用就好了,结构体唯一要注意的是分配空间,拷贝构造(特别是浅拷贝)
类似下面这样:
struct
complex_struct
a1,
b1,
c1;
c1
=
add_complex(a1,
b1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式