Calcul matriciel en C: Calcul de déterminant

#include<stdio.h>
#include<stdlib.h>
#define d 2

double det (double A[d][d], int N)
{
    double c, r=1;
    for(int i = 0; i < N; i++) {
        for(int k = i+1; k < N; k++) {
            c = A[k][i] / A[i][i];
            for(int j = i; j < N; j++)
                A[k][j]= A[k][j] - c*A[i][j];
        }
    }
    for (int i = 0; i < N; i++)
        r *=A[i][i];
    return r;
}

int main()
{
      double M[d][d];
      M[0][0]=9;
      M[0][1]=5;
      M[1][0]=3;
      M[1][1]=7;
      printf("Det(M) = %f\n",det(M,d));
      return 0;
}