一个函数只能有一个return,后面的return不会被执行。
解决方法可以考虑返回一个指针或者da函数传入一个全局变量的数组,在函数中修改这个数组的值。
#include
#include
void da(int a[][4],int n)
{
int i,j,row=0,col=0,max=a[0][0];
for(i=0;i for(j=0;j<4;j++) if(a[i][j]>max) max=a[i][j]; row=i; col=j; printf("最大值:a[%d][%d]=%d\n",row,col,max); int main() scanf("%d",&a[i][j]); da(a,n); return 0; } 扩展资料: 二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算。 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。 参考资料来源:百度百科-二维数组
一个函数只能有一个return哦,后面的return不会被执行。解决方法可以考虑返回一个指针(这个指针指向构造包含m,x,max的数组)。或者da函数传入一个全局变量的数组,在函数中修改这个数组的值
//你的错误太多,给你个新的
#include
#include
void da(int a[][4],int n)
{
int i,j,row=0,col=0,max=a[0][0];
for(i=0;i
{
if(a[i][j]>max)
{
max=a[i][j];
row=i;
col=j;
}
}
printf("最大值:a[%d][%d]=%d\n",row,col,max);
}
int main()
{
int i,j,n,a[10][4];
scanf("%d",&n);
for(i=0;i
scanf("%d",&a[i][j]);
da(a,n);
return 0;
}
#include
int main()
{
int n,a[10][4];
int i,j,x,y;
int da(int b[10][4],int c,int *x,int *y);
scanf("%d",&n);
for(i=0;ifor(j=0;j<4;j++)
scanf("%d",&a[i][j]);
da(a,n,&x,&y);
printf("最大值a[%d][%d]=%d",x,y,a[x][y]);
}
void da(int b[][4],int c,int *x,int *y)
{
int i,j;
*x=*y=0;
for(i=0;i{for(j=0;j<4;j++)
if(b[i][j]>b[*x][*y])
{*x=i;
*y=j;
}}
}