问题
填空题
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。
#include <stdio, h>
void fun(int,int,int( * )[4] ,int* );
main ( )
int a[3] [4] = 12,41,36,28, 19,33,15,27, 3,27,19,1 ,b[3] ,i;
fun(3,4,a,b);
for(i =0;i <3;i ++ ) printf( "%4d" ,b[i] );
prinff(" \\n" );
void fun(int m,int n,int ar[] [4] ,int* br)
int i,j,x;
for(i =0;i< m;i ++ )
x = ar[i] [0] ;’
for(j = 0;j < n;j ++ ) if(x < ar[i] [j] ) x = ar[i] [j];
=x;
答案
参考答案:br[i]或*(br+i)
解析: 程序中的数组a是一个3行4列的二维数组,一维数组b用于存放每行的最大数。在函数fun中,通过二重for循环求每行的最大数,外层for循环用于控制行数,内层for循环用于控制列数,当外层循环执行一次时,内层循环则从一行的4个数中找出最大数x,然后将最大值x赋给数组br,故[14]处应填br[i]或*(br+i)。