定义二维数组时,必须定义列数
C语言中以第一组的大小为边界
#include <stdio.h>
void printArryDouble(int arr[][3]){
int i;
int j;
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%d",arr[i][j]);
putchar('\n');
}
}
int main()
{ int arr[2][3]={{1,2,3},{11,22,33}};//特殊的一维数组,每个元素又是一个数组,大小确定
printArryDouble(arr);
return 0;
}
例题输入3*4的矩阵,并取最大值
#include <stdio.h>
void printArryDouble(int arr[][4],int ihang,int ilie){
int i;
int j;
for(i=0;i<ihang ;i++){
for(j=0;j<ilie;j++){
printf("%d",arr[i][j]);
}
putchar('\n');
}
}
void initArryDouble(int arr[][4],int ihang,int ilie){
int i;
int j;
for(i=0;i<ihang ;i++){
for(j=0;j<ilie;j++){
printf("请输入第%d行,第%d列的数据\n",i+1,j+1);
scanf("%d",&arr[i][j]);
}
}
}
int getMaxDataFromArryDouble(int arr[][4],int ihang,int ilie){
int i;
int j;
int max;
max=arr[0][0];
for(i=0;i<ihang ;i++){
for(j=0;j<ilie;j++){
if(max<arr[i][j]){
max=arr[i][j];
}
}
}
return max;
}
int main()
{
int max;
int arr[3][4];//特殊的一维数组,每个元素又是一个数组,大小确定
initArryDouble(arr,3,4);
printArryDouble(arr,3,4);
max=getMaxDataFromArryDouble(arr,3,4);
//max=getMaxDataFromArryDouble(&arr[0][0],3,4);
printf("二维数组中最大的值是%d\n",max);
return 0;
}