C语言初学者的疑惑?

如何输出一个二维数组的最大值及最大值的行列
例如
例如a[3][4]中输入55,8,74,66,32,12,1,36,94,45,65,88

供参考:

#include <stdio.h>
int main()
{
    int i, j, a[3][4] = { 55,8,74,66,32,12,1,36,94,45,65,88 }, max_r, max_l, max;
    max = a[0][0]; max_r = 0; max_l = 0;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 4; j++)
        {
            if (a[i][j] > max)
            {
                max = a[i][j];
                max_r = i;
                max_l = j;
            }
        }
    }
    printf("max=%d,  %d, %d\n", max, max_r, max_l);
    return 0;
}


#include <stdio.h>
#include <string.h>


int main()
{
      int a[3][4]={{55,8,74,66},{32,12,1,36},{94,45,65,88}};
      int *p=(int *)a;
      int max=a[0][0],max_index=0;
      
      for(int i=1;i<sizeof(a)/sizeof(int);++i)
      {
          if(max < p[i]){
              max = p[i];
              max_index=i;
          }
    }
    printf("max=%d line=%d column=%d\n",max,max_index/4+1,max_index%4+1);
   
       return 0; 
}