问个简单问题1!!!
程序代码:#include<stdio.h>
#include<stdlib.h>
void ad(int *p,int m,int n);
int main()
{
int i=0, j=0, m, n;
int *p,**p1;
for(;;)
{
printf("enter into number of line and row:\n");
scanf("%d%d",&m,&n);//输入二维数组的大小!
p=(int*)malloc(n*m*sizeof(int));
p1=&p;
printf("enter into the grade:\n");
for(i=0;i<m;i++)//输入成绩!
{
//printf("class%2d",i);
for(j=0;j<n;j++)
{
scanf("%d",p+i*m+j);
}
//scanf("\n");
}
ad(p,m,n);
}
return 0;
}
void ad(int *p,int m,int n)
{
int i, j, max, a=0, b=0;
max=*(p+0*m+0);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(max<*(p+i*m+j))
{
a=i;
b=j;
max=*(p+i*m+j);
}
}
}
printf("%-4d,%-4d,%-4d\n",a+1,b+1,max);
}为啥求不出最大?
[ 本帖最后由 清微御宇 于 2012-5-25 20:38 编辑 ]








