大大们这个程序问题在哪?如何开辟二维数组?求指导!
程序代码:#include<stdio.h>
#include<stdlib.h>
void ad(int**q,int m,int n);
int main()
{
int i=0, j=0, m, n;
int **p;
printf("enter into number of line and row:\n");
scanf("%d%d",&m,&n);//输入二维数组的大小!
p=(int**)malloc(sizeof(int*)*n);
for(i=0;i<m;i++)
{
p[i]=(int*)malloc(sizeof(int)*m);
}
printf("enter into the grade:\n");
for(i=0;i<m;i++)//输入成绩!
{
for(j=0;j<n;j++)
{
scanf("%d",p[i]+j);
}
}
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][0];
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(max<p[i][j])
{
a=i;
b=j;
max=p[i][j];
}
}
}
printf("%-4d,%-4d,%-4d\n",a+1,b+1,max);//输出是第几列(班)的第几个同学!
}为啥子能对n*n的可以呢?n*m就崩溃了?
[ 本帖最后由 清微御宇 于 2012-5-22 13:25 编辑 ]



