/*二维数组是由若干个一维数组组成,
在二维数组定义时,必须指定列(一行有多少个元素)
所以arr[i][]是错误的写法
*/
例:有3*4矩阵,初始化并输出,求出最大值
#include <stdio.h>
void initArry(int arr[][4],int hang, int lie)
{
int i;
int j;
for(i=0;i<hang;i++){
for(j=0;j<lie;j++){
printf("请输入第%d行,第%d列的数据\n",i+1,j+1);
scanf("%d",&arr[i][j]);
}
}
}
int MaxDataFromArry(int arr[][4],int hang, int lie)
{
int i;
int j;
int max;
max = arr[0][0];
for(i=0;i<hang;i++){
for(j=0;j<lie;j++){
if(max < arr[i][j]){
max = arr[i][j];
}
}
}
return max;
}
void printArry(int arr[][4],int hang, int lie )
{
int i;
int j;
puts("矩阵为:");
for(i=0;i<hang;i++){
for(j=0;j<lie;j++){
printf("%d ",arr[i][j]);
}
putchar('\n');
}
}
int main()
{
int max;
int arr[3][4] ;
initArry(arr,3,4);
printArry(arr,3,4);
max = MaxDataFromArry(arr,3,4);
printf("二维数组中最大的值是%d\n",max);
return 0;
}