示例代码:
#include <stdio.h>
void initarr(int arr[2][3],int a,int b) //数组初始化
{
int i=0;
int j=0;
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
printf("请输入%d行,%d列的数据\n",i+1,j+1);
scanf("%d",&arr[i][j]);
}
}
}
void printarr(int arr[2][3],int a,int b) //二维数组打印
{
int i=0;
int j=0;
puts("数组如下:\n");
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
printf("%d ",arr[i][j]);
}
puts("\n");
}
}
int getmaxfromarr(int arr[2][3],int a,int b) //取出数组最大值
{
int i=0;
int j=0;
int max=0;
max=arr[0][0];
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
if(max<arr[i][j])
{
max=arr[i][j];
}
}
}
return max;
}
int main() //主函数
{
int max=0;
int arr[2][3]={0};
initarr(arr,2,3);
printarr(arr,2,3);
max=getmaxfromarr(arr,2,3);
printf("最大值是%d\n",max);
return 0;
}
重点:二维数组函数传参,必须包含列,并接收行列值,便于打印及输出数组
函数中形参,必须定义类型