XSportsZach 2020-12-18 22:46 采纳率: 0%
浏览 168

求问,外函数如何引用结构体?

#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;
}

这题我想要实现输入几个学生的成绩,然后求和输出。

之前看到一个帖子说结构体赋值和定义必须在主函数内进行,可是如果我想在外函数引用结构体呢?

 

 

 

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

  • 写回答

3条回答 默认 最新

  • 爱吃蛋炒饭。 2020-12-18 23:37
    关注

    试试这个:strcpy(totalstus[i].major,students[i].major);

    评论

报告相同问题?