C语言程序设计(二维数组)

编一个程序,输入一个3×3的实数矩阵,求两条对角线元素中各自的最大值
各位大佬麻烦讲解

#include <stdio.h>

int main()
{
    float a[3][3];
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            scanf("%f", &a[i][j]);
    float max1 = a[0][0];
    for (int i = 1; i < 3; i++)
        if (a[i][i] > max1)
            max1 = a[i][i];
    float max2 = a[0][2];
    for (int i = 1; i < 3; i++)
        if (a[i][2 - i] > max2)
            max2 = a[i][2 - i];
    printf("%f %f", max1, max2);
    return 0;
}