在主函数中定义二维数组A[3][4]输入其职,在子函数中用指针的方法求出对数组A中的最大值,在主函数中输出

如题所述

/***************三选一…………*************************/
#include<stdio.h>
int max(int (*p)[4]){
int k=p[0][0],i,j;
for(i=0;i<3;i++){
for(j=0;j<4;j++)
k=(p[i][j]>k)?p[i][j]:k;
}
return k;
}
main(){
int i,j,A[3][4];
for(i=0;i<3;i++){
for(j=0;j<4;j++)
scanf("%d",&A[i][j]);
}
printf("%d\n",max(A));
return;
}
//另一种方法:
#include<stdio.h>
int max(int *p){
int k=p[0],i,j;
for(i=0;i<3*4;i++)
k=(p[i]>k)?p[i]:k;
return k;
}
void main(){
int i,j,A[3][4],*p;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&A[i][j]);
p=A[0];
printf("%d\n",max(p));
}
/********************还有一种*************************/
#include<stdio.h>
int max(int *p){
int k=p[0],i,j;
for(i=0;i<3*4;i++)
k=(p[i]>k)?p[i]:k;
return k;
}
void main(){
int i,j,A[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&A[i][j]);
printf("%d\n",max(A[0]));
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-08
Mark,学习,原来函数传二维数组是这样的。