C语言二维数组作为函数的参数,形参怎么写
有3*4矩阵,初始化它并输出,然后求最大值并输出
合法写法int arr[2][3],int arr[][3]
不合法写法int arr[][],int arr[2][]
原因,二维数组是由一维数组构成,存放是按行存放的,所以必须指定列数(一行中包含几个元素)
#include<stdio.h>
void initshuzu(int shuzu[][4])
{
int i;
int j;
puts ("请输入3*4个数值");
for (i=0;i<3;i++){
for(j=0;j<4;j++){
scanf ("%d",&shuzu[i][j]);
}
}
puts ("\ndone!");
}
void printshuzu(int shuzu[][4])
{
int i;
int j;
puts ("输出数值为:");
for (i=0;i<3;i++){
for(j=0;j<4;j++){
printf("%d ",shuzu[i][j]);
}
printf("\n");
}
}
int maxFromshuzu(int shuzu[][4])
{
int i;
int j;
int max=shuzu[0][0];
for (i=0;i<3;i++){
for(j=0;j<4;j++){
if(max<shuzu[i][j]){
max=shuzu[i][j];
}
}
}
return max;
}
int main()
{
int max;
int shuzu[3][4];
int i=3;
int j=4;
initshuzu(shuzu);
printshuzu(shuzu);
max=maxFromshuzu(shuzu);
printf("输出的最大值为%d ",max);
return 0;
}