我有这个功能
int findMax(int ** a,int row,int column)
我正在使用2-d数组,这是[10] [10]。
现在该怎么做才能将这个数组的地址传递给我的函数指针**
我看到了其他答案,但问题仍然是相同的我必须传递地址,但每当我尝试这样做时,我的编译器开始给出错误,并说无法将int转换为int并输入不匹配错误。
给我你宝贵的建议和想法,我该怎么做?
这是我的代码。
#include<stdio.h>
int findMax(int **a,int r,int c);
int main()
{
int a[10][10],i,j,mx,r,c;
printf("Enter the number of rows in the matrix\n");
scanf("%d",&r);
printf("Enter the number of columns in the matrix\n");
scanf("%d",&c);
printf("Enter the elements in the matrix\n");
for(i=1;i<=r;i++)
{
for(j=1;j<=c;j++)
scanf("%d",&a[i][j]);
}
printf("The matrix is\n");
for(i=1;i<=r;i++)
{
for(j=1;j<=c;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
mx=findMax((int **)a,r,c);
printf("The maximum elements in the matrix is %d\n",mx);
return 0;
}
int findMax(int **a,int r,int c)
{
int t,i,j;
t=a[0][0];
for(i=1;i<=r;i++)
{
for(j=1;j<=c;j++)
{
if(a[i][j]>t)
t=a[i][j];
}
}
return (t);