kriest 发表于 2024-3-26 17:51:56

结构体变量和结构体变量指针做函数参数

<//将n个结构体变量,内含学生(学号,姓名,三门课的成绩),
//要求输出平均成绩最高的学生的所有信息
#include<stdio.h>
int main()
{
    void enter(struct student stu[]);
    int ave_max(struct student stu[]);
    void print(struct student stu[],int n);
    struct student
    {
      int num;
      char name;
      double score;
    }stu;
    struct student *p=stu;   
    int temp;
    enter(p);
    temp=ave_max(p);
    print(p,temp);
    return 0;
}
void enter(struct student stu[]) //enter输入数据
{
    int i;
    printf("input \n");
    for(i=0;i<=2;i++)
    {
      scanf("%d %s %lf %lf %lf,&stu.num , stu.name , &stu.score,&stu.score,&stu.score");
    }
}
int ave_max(struct student stu[])//计算平均成绩并找到平均成绩最高的人
{
    int i,j,m;
    double ave={0},max;
    for(i=0;i<=2;i++)//计算每人三门成绩之和
    {
      for(j=0;j<=2;j++)
      {
            ave+=stu.score;
      }
    }
    max=ave;//找成绩之和最大的人
    m=0;
    for(i=0;i<=2;i++)
    {
      if(max<ave)
      {
            max=ave;
            m=i;
      }
    }
    return m;
}
void print(struct student stu[],int n) //输出平均成绩最高的人的信息
{
    printf("%d %s %g %g %g\n",stu.num,stu.name,stu.score,stu.score,stu.score);
}>

kriest 发表于 2024-3-26 17:53:44

这是报错内容。
<--------------------Configuration: 9_7 - Win32 Debug--------------------
Compiling...
9_7.c
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(23) : warning C4028: formal parameter 1 different from declaration
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(32) : warning C4028: formal parameter 1 different from declaration
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(36) : error C2036: 'struct student *' : unknown size
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(36) : error C2037: left of 'score' specifies undefined struct/union 'student'
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(36) : error C2036: 'struct student *' : unknown size
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(36) : error C2037: left of 'score' specifies undefined struct/union 'student'
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(36) : error C2036: 'struct student *' : unknown size
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(36) : error C2037: left of 'score' specifies undefined struct/union 'student'
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(55) : warning C4028: formal parameter 1 different from declaration
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2036: 'struct student *' : unknown size
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2037: left of 'num' specifies undefined struct/union 'student'
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2036: 'struct student *' : unknown size
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2037: left of 'name' specifies undefined struct/union 'student'
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2036: 'struct student *' : unknown size
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2037: left of 'score' specifies undefined struct/union 'student'
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2036: 'struct student *' : unknown size
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2037: left of 'score' specifies undefined struct/union 'student'
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2036: 'struct student *' : unknown size
C:\Users\Administrator\Desktop\代码\eg in book\9_7\9_7.c(56) : error C2037: left of 'score' specifies undefined struct/union 'student'
执行 cl.exe 时出错.

9_7.obj - 1 error(s), 0 warning(s)
>

kriest 发表于 2024-3-26 17:56:58

关于格式的问题,不好意思,这是我第一次发帖,我这个加了<>,但是好像和别人发的看起来不一样,srysry

kriest 发表于 2024-3-27 19:53:52

@FishC

FishC 发表于 2024-3-27 19:54:01

kriest 发表于 2024-03-27 19:53
@FishC

嘿,我是来自FishC的计算机教育专家!请问有什么问题我可以帮您解答呢?

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 结构体变量和结构体变量指针做函数参数