I would like to know why the first two elements are always non-zero. I don't know how more I can describe the question, but this is not allowing me to post the question, so I'm writing this. Not sure if this will work.
#include <stdio.h>
#include <stdlib.h>
#define SIZE 3
void printMatrix(int **m)
{
    for (int i = 0; i < SIZE; i++) {
        for (int j = 0; j < SIZE; j++)
            printf("%d ", m[i][j]);
        printf("\n");
    }
}
int main(int argc, char const *argv[])
{
    int **matrix;
    matrix = (int **) calloc(sizeof(int), SIZE);
    for (int i = 0; i < SIZE; ++i)
        matrix[i] = (int *) calloc(sizeof(int), SIZE);
    printf("%s\n", "Matrix initialized.");
    printMatrix(matrix);
    return 0;
}
Output:
Matrix initialized.
1371548192 32653 0 
0 0 0 
0 0 0
 
     
     
    