第十行stu的 [ ]里的 i 该如何定义

void totalscore(STU stu,int n,int m)
{
    int i, j;
    int sum[30];
    for (i = 0; i < 4; i++)
    {
        sum[i] = 0;
        for (j = 0; j < 4; j++)   //算总分
        {
            sum[i] = sum[i] + stu[i].score[j];
        }
    }
}

第十行stu的 [ ]里的 i 该如何定义?强制转换好像不行。。

  • 你 把 STU 的定义放出来, 它是结构体数组嘛?
  • 你的入参应该定义 成结构体数组 STU stu[]

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在第十行中,stu 是一个结构体数组,数组下标 i 表示第 i 个学生的信息。因此,i 应该是一个从 0 到 n-1 的整数值,表示需要计算总分的学生的下标。

在函数调用时,应该传入参数 n 表示学生数量,例如:

STU students[4];
// 初始化学生信息...
totalscore(students, 4, 4);



typedef struct stu
{
    long stuID;     //学号
    char stuname[10];    //名字
    char stusex;     //性别
    DATE birthday;   //生日
    int score[4];    //4科分数
    float aver;      //平均分
}STU;