二维数组寻找鞍点,不知是否正确

include <stdio.h>

int main()
{
char a[3][4]={{2,2,6,3},{2,4,5,3},{5,1,7,2}};
int i,j,k,m=0,n=0,max=0,min=0;
scanf("%c",&a[i][j]);
for(i=0;i<3;i++)
{
for(j=0;j<4;j++);
if(a[i][m]>a[i][j])
{
m=j;
a[i][m]=a[i][j];
min=a[i][m];
max=a[n][m];
}
for(k=0;k<4;k++)
{if(a[k][m]<max)
{
a[k][m]=max;
max=a[k][m];
}
}
if(max=min)
{
printf("鞍点是%d,所在行为%d,所在列为%d\n",a[k][m],k,m);
}
else
{
printf("无鞍点\n");
}
}
}

修改如下,供参考:

#include <stdio.h>
int main()
{
    char a[3][4]={{2,2,6,3},{2,4,5,3},{5,1,7,2}};
    int i,j,k,m=0,n=0,max=0,min=0,flg=0;  //修改
                          //scanf("%c",&a[i][j]);
    for(i=0;i<3;i++)
    {
        max = a[i][0];   //修改
        for(j=0;j<4;j++) //;
        {
            if(a[i][j]>max)
            {
                m=j;    //列
                max=a[i][j];//a[i][m]=a[i][j];
            }
        }
        min=a[0][m];
        for(k=0;k<3;k++) //for(k=0;k<4;k++)
        {
            if(a[k][m]<min)
            {
                n  = k;  //行
                min=a[k][m];
            }
        }
        if(max==min) //if(max=min)
        {
            printf("鞍点是%d,所在行为%d,所在列为%d\n",a[n][m],n,m); //修改
            flg = 1;
        }
    }
    if(!flg)
        printf("无鞍点\n");
    return 0;
}