请问这个程序哪错了?

#include<stdio.h>
int main()
{
    int n,i,j,m,a[10][10],max[10];
    scanf("%d %d\n",&m,&n);
    for(i=0;i<m;i++)
    {for(j=0;j<n;j++)
    scanf("%d",a[i][j]);
    }
    for(i=0;i<m;i++)
    {
        max[i]=a[i][0];
        for(j=0;j<n;j++)
    {
        if(a[i][j]>=max[i])
        max[i]=a[i][j];
        
    }
    }
    for(i=0;i<m;i++)
    printf("%d \n",a[i][j]);
    return 0;
 }

最后输出不是输出比较后的最大值数组?为何输出矩阵?

最后那个for循环不要,直接在第一个循环里的第一层最后一行输出max