头发 发表于 2020-11-18 21:48:37

这是什么错误?

#include<stdio.h>
#define N 3 //number of people
typedef struct
{
        int id;
        float s;//chinese math english
}stu;
int av1(int id[],float sum[],int f[])
{
        int i,j=0;
        for(i=0;i<N;i++)
        {
                if((sum/3)<60)
                {
                        j++;
                        f=id;
                }
        }
        return j;
int main()
{
        stu s;
        int i,j,fail,f[];//f[]为不及格名单
        float sum;
        for(i=0;i<N;i++)
        {
                scanf("%d",&s.id);
      scanf("%f",&s.s);
      scanf("%f",&s.s);
      scanf("%f",&s.s);
        }
        for(i=0;i<N;i++)
       for(j=0;j<3;j++)
       {
               sum+=s.s;
       }
        fail=av1(s.id,sum,f);
        printf("number of failures:%d",fail);
        for(i=0;i<fail;i++)
       printf("List of failures:%d",f);
        return 0;
}
我想把不及格的id存到f[]数组中再输出;
可f定义的时候为啥说长度未知,不是可以忽略行吗?

a327190489 发表于 2020-11-18 22:54:58

忽略行是指数组作为形参的时候吧

头发 发表于 2020-11-19 07:55:20

a327190489 发表于 2020-11-18 22:54
忽略行是指数组作为形参的时候吧

没想明白咋改才对。。{:5_100:}

sunrise085 发表于 2020-11-19 10:23:05

你从昨晚到现在已经发了好多个关于数组的帖子了。
感觉你对数组完全不了解啊。还是再认真学习一下数组吧。
#include<stdio.h>
#define N 3 //number of people
typedef struct
{
    int id;
    float s;//chinese math english
}stu;
int av1(stu s[],float sum[],int f[])//第一个参数应该是结构体,不应该是int
{
    int i,j=0;
    for(i=0;i<N;i++)
    {
      if((sum/3)<60)
      {
            //j++;//这一行应该去掉,j不能加两次
            f=s.id;
      }
    }
    return j;
}
int main()
{
    stu s;
    int i,j,fail,f;//定义的时候不进行初始化,那就必须制定数字大小,否则无法分配空间
    float sum={0.0};//要初始化为0,否则后面直接自加可能会出错。
    for(i=0;i<N;i++)
    {
      scanf("%d",&s.id);
      scanf("%f",&s.s);
      scanf("%f",&s.s);
      scanf("%f",&s.s);
    }
    for(i=0;i<N;i++)
      for(j=0;j<3;j++)
      {
            sum+=s.s;
      }
    fail=av1(s,sum,f);//第一个参数一个是stu结构体,不应该是id,你的id也不是一个数组啊。。。。
    printf("number of failures:%d\n",fail);
    for(i=0;i<fail;i++)
      printf("List of failures:%d\n",f);
    return 0;
}

头发 发表于 2020-11-19 10:52:33

sunrise085 发表于 2020-11-19 10:23
你从昨晚到现在已经发了好多个关于数组的帖子了。
感觉你对数组完全不了解啊。还是再认真学习一下数组吧。 ...

感谢 函数+结构体 语法这块我迷{:5_100:}
页: [1]
查看完整版本: 这是什么错误?