注册 登录
编程论坛 C语言论坛

结构体循环赋值问题

t_dcy 发布于 2020-09-20 17:50, 1968 次点击
#include<stdio.h>
//函数声明
void  massagein(struct Student *stu);
void avsorce(struct Student *stu);
void massageout(struct Student *stu);
//构建结构体
    struct Student
    {
        float sorce,a[1];
}stu[5];
int i;
//主函数
int main(){
    massagein(stu);
    avsorce(stu);                                 
    massageout(stu);
    return 0;
}
//信息输入函数,循环输入五个学生的课程信息
void  massagein(struct Student *stu)
{
    for(i=0;i<5;i++,stu++){
        printf("请输入成绩,空格键隔开\n");
    scanf("%f",&stu->sorce);
    }
}
//本来是用来计算平均值的,这里简化了,主要为了说明出现的问题
void avsorce(struct Student *stu)
{
for(i=0;i<5;i++,stu++){
    stu->a[1]=(stu->sorce);
    }
}
//输出每个人的平均分
void massageout(struct Student *stu)
{
    for(i=0;i<5;i++,stu++){
        printf("的平均成绩为:%f\n",stu->a[i]);
    }
}
只有本站会员才能查看附件,请 登录
3 回复
#2
吹水佬2020-09-20 20:05
stu->a[1]=(stu->sorce); 这个1应该是0吧
stu->a[i] 这个i应该是0吧

[此贴子已经被作者于2020-9-20 20:07编辑过]

#3
fishxiaoyun2020-09-21 12:37


[此贴子已经被作者于2020-9-21 15:14编辑过]

#4
fishxiaoyun2020-09-21 13:16
最后一个printf输出的应该是stu->a[1]吧

[此贴子已经被作者于2020-9-21 15:20编辑过]

1