Hi, everyone. I am trying to write a program that read two matrices (one in each function), and then calculates the product between the first and the second (in a function designed for that purpose only), and displays the result in the main function. However, when I compile the program, I get errors, and I believe I am making mistakes when I return each matrix to the main function, and also when I pass each matrix to a function, for example, matrices 1 and 2 to the function product(). Am I right, or my mistakes are far from that? Thanks in advance!

Code:#include <stdio.h> double read_matrix1 (double matrix1[2][2]); double read_matrix2 (double matrix2[2][2]); double product (double matrix1[2][2], double matrix2[2][2], double matrix3[2][2]); int main (void) { double matrix1[2][2], matrix2[2][2], matrix3[2][2]; int i, j; matrix1 = read_matrix1(matrix1); matrix2 = read_matrix2(matrix2); matrix3 = product(matrix1, matrix2); printf("The product of the two matrices yields:\n"); for (i = 0 ; i < 2 ; i++) { for (j = 0 ; j < 2 ; j++) { printf("%f ", matrix3[i][j]); } printf("\n"); } return 0; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// double read_matrix1 (double matrix1[2][2]) { int i, j; printf("Input of matrix 1 elements.\n"); for (i = 0 ; i < 2 ; i++) { for (j = 0 ; j < 2 ; j++) { printf("Type in the element [%d][%d]: ", i, j); scanf("%lf", &matrix1[i][j]); } } return matrix1[2][2]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// double read_matrix2 (double matrix2[2][2]) { int i, j; printf("Input of matrix 2 elements.\n"); for (i = 0 ; i < 2 ; i++) { for (j = 0 ; j < 2 ; j++) { printf("Type in the element [%d][%d]: ", i, j); scanf("%lf", &matrix2[i][j]); } } return matrix2[2][2]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// double product(double matrix1[2][2], double matrix2[2][2], double matrix3[2][2]) { int i, j, k; double sum, total = 0; for (i = 0 ; i < 2 ; i++) { for (j = 0 ; j < 2 ; j++) { for (k = 0 ; k < 2 ; k++) { sum = matrix1[i][k] * matrix2[k][j]; total = total + sum; } matrix3[i][j] = total; sum = 0; } } return matrix3[2][2]; }