用指针求数组最大值并表示其位置
程序如下,得出结果不正确,看了半天也没找出哪错了,望大神帮忙。#define M 3
#define N 4
int maxf(int *p,int L,int *pos)
{
int *max,*q;
max=p;
for(q=p+1;q<p+L;p++)
{
if(*max<*q)
max=q;
}
*pos=max-p;
return (*max);
}
#include<stdio.h>
int main(void)
{
int a[M][N];
int max,pos;
int *p;
printf("请输入%d行%d列的矩阵A:\n",M,N);
for(p=*a;p<*a+M*N;p++)
scanf("%d",p);
max=maxf(*a,M*N,&pos);
printf("矩阵A中的最大值为%d,其在矩阵中的位置为第%d个元素\n",max,pos);
return 0;
}