大大们这个程序问题在哪?如何开辟二维数组?求指导!
程序代码:
#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 编辑 ]