为什么最大值的位置信息输出错误?
#include<stdio.h>int FindMax(int *p, int m, int n, int *pRow, int *pCol);
void InputArray(int *p, int m, int n);
int main()
{
int n,m,i,j,k;
printf("Input m,n:\n");
scanf("%d,%d",&m,&n);
int num[m][n];
printf("Input %d*%d array:\n",m,n);
InputArray(&num[0][0],m,n);
k=FindMax(&num[0][0],m,m,&i,&j);
printf("max=%d,row=%d,col=%d\n",k,i,j);
}
void InputArray(int *p, int m, int n)
{
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",p+n*i+j);
}
int FindMax(int *p, int m, int n, int *pRow, int *pCol)
{
int i,j,pos;
pos=*p;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(pos<*(p+n*i+j))
{
pos=*(p+n*i+j);
*pRow=i;
*pCol=j;
}
return pos;
}