编写一个函数,由实参传来一个矩阵A[M][N],按列输出它每一列上最大值和最小值的差。

小白求大佬解答这个为什么不对 输出不出来

#include
void f(int a[10][10],int M,int N)
{
int i,j,max,min,s;
for(j=0;j {
max=a[0][j];
min=a[0][j];
for(i=0;i {
if(a[i][j]>max) max=a[i][j];
else if(a[i][j]<min) min=a[i][j];
}
s=max-min;
printf("%d\n",s);
}
}

int main()
{
void f(int a[10][10],int M,int N);
int m,n,b[10][10],c,d;
printf("分别输入矩阵的行数和列数:");
scanf("%d%d",&m,&n);
printf("请输入矩阵:\n");
for(c=0;c<m;c++)
{
for(d=0;d<n;d++)
{
scanf("%d",b[c][d]);

}
}
f(b,m,n);
return 0;
}

#include "stdio.h"
void f(int a[10][10],int M,int N)
{
    int i,j,max,min,s;
    for(j=0;j <N; j++){
        max=a[0][j];
        min=a[0][j];
        for(i=0;i < M;i++){
            if(a[i][j]>max) max=a[i][j];
            if(a[i][j]<min) min=a[i][j];
        }
        s=max-min;
        printf("%d\n",s);
    }
}
int main()
{
    void f(int a[10][10],int M,int N);
    int m,n,b[10][10],c,d;
    printf("分别输入矩阵的行数和列数:");
    scanf("%d%d",&m,&n);
    printf("请输入矩阵:\n");
    for(c=0;c<m;c++)
    {
        for(d=0;d<n;d++)
        {
            scanf("%d",&b[c][d]);

        }
    }
    f(b,m,n);
    return 0;
}

问题解决的话,请点下采纳