有没有能人帮看一下,为啥能求出该矩阵每一行的最大值,但却求不出每一列的最大值

include
int main()
{
int a[3][4]= {25,43,18,45,41,50,74,27,82,38,56,21};
int i,j,max=0;
for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
{
if(a[i][j]>max)
{
max=a[i][j];
}
}
printf("行max=%d\n",max);
}
int q,h,r=0;
for(q=0; q<4; q++)
{
for(h=0; h<3; h++)
{
if(a[h][q]>r)
{
r=a[h][q];
}
}
printf("列max=%d\n",r);
}

}

printf写错位置了

运行结果列一下