报错说 在函数体外使用参数m,n,哭了不知道怎么改

#include<stdio.h>
int main()
{
int m,n;
int i,j,c;
scanf("%d,%d",&m,&n);
int a[m][n];
int differ(int m,int n,int a[m][n]);
printf("row,column: ");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
}
differ(m,n,a);
return 0;
}

int differ(int m,int n,int a[m][n])
{
int i,j,c;
int max,min;
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];
}
c=max-min;
printf("%d\t",c);
}
}

int differ(int m,int n,int *a)