矩阵最大数及位置下标
请修改编辑器中的代码,完成以下功能:编写一个函数 func,用于找出二维数组中的最大值及其所在的行列位置。该函数接收一个二维数组指针、数组的行数和列数,以及两个指向整型变量的指针。函数返回最大值,并通过指针返回最大值所在的行和列。在 main 函数中定义一个二维数组,并调用 func 函数,最后输出最大值及其行列位置。 不需要输入 输出示例: 27 1 2
#include <stdio.h>
int func(int (*p)[4], int m, int n, int *pRow, int *pCol)
{
int i, j, max;
max = *p;
*pRow = 0;
*pCol = 0;
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
{
if ( *(*(p+i)+j) > max)
{
max = *(*(p+i) + j);
*pRow = i;
*pCol = i + j;
}
}
}
return *max;
}
int main(void)
{
int aa[3][4] = {{1,3,5,7},{21,19,27,22},{11,17,18,20}};
int maxVal, row, col;
maxVal = func(aa, 3, 4, &row, &col);
printf("%d %d %d\n", maxVal, row, col);
return 0;
}
控制台
调试终端
