(数组名作为函数参数)2个程序基本一样,但只有一个执行正确

问题遇到的现象和发生背景

<C语言>数组名作为函数的参数,找不出问题出在哪里

问题相关代码,请勿粘贴截图
#include<stdio.h>//这段程序执行错误
int main()
{
    float pingjun(float b[]);
    int i;
    float a[10];
    float m;
    printf("请输入10个数\n");
        for(i=0;i<10;i++)
        {
            scanf("%f",&a[i]);
        }
        printf("\n");
        m=pingjun(a);
        printf("十个人的平均成绩是%5.1f\n",m);
        return 0;
}


float pingjun(float b[])
{
    int j;
    float sum=0;
    for(j=0;j<10;j++);
    {
        sum=sum+b[j];            
    }
return sum/10;
}

#include<stdio.h>//下面这段程序执行正确
int main()
{
    int getavg(int arr[]);
    int i,m;
    int arr[10];
    printf("请输入10个数:\n");
    for(i=0;i<10;i++)
    {
        scanf("%d",&arr[i]);
    }
    printf("\n");
    m=getavg(arr);
    printf("avg=%d\n",m);
    return 0;
}

    
int getavg(int arr[])
{
    int i;
    int sum=0;
    for(i=0;i<10;i++)
    {
        sum=sum+arr[i];
    }
 return sum/10;
}


运行结果及报错内容

错误的程序返回值一直是0

我的解答思路和尝试过的方法
我想要达到的结果

不明缘由

img

第一个第24行for循环后面的分号删掉

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632