#include<stdio.h>
typedef struct Student{
char major[50];//专业
char name[50];//姓名
int score[3];//3门课程的成绩
} STU;
void printInfo(STU students[],int num)
{
int i;
struct{
char major[50];
char name[50];
int totalScore;
}totalstus[num];
for(i=0;i<num;i++)
{
totalstus[i].major=students[i].major,totalstus[i].name=students[i].name;
totalstus[i].totalScore=students[i].score[0]+students[i].score[1]+students[i].score[2];
}
for(i=0;i<num;i++)
{
printf("%s,%s:",totalstus[i].major,totalstus[i].name);
printf("%d.\n",totalstus[i].totalScore);
}
}
int main()
{
int i,N;
scanf("%d",&N);
STU stus[N];
getchar();
for (i=0;i<N;i++)
{
scanf("%s %s",stus[i].major,stus[i].name);
scanf("%d%d%d",&stus[i].score[0],&stus[i].score[1],&stus[i].score[2]);
}
printInfo(stus,N);
return 0;
}
这题我想要实现输入几个学生的成绩,然后求和输出。
之前看到一个帖子说结构体赋值和定义必须在主函数内进行,可是如果我想在外函数引用结构体呢?


求问大佬们,为什么错啊?怎么修改?