salut

Quand j'éxécute le code suivant j'ai une erreur de segmentation et je n'arrive pas à comprendre d'ou elle peut venir!!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
 
int SizeMat() {
 int li;
char buffer[10];
 
  printf("\n************************************************************\n");
  printf("entré le nombres de lignes et de collones de la matrice carré\n");
  fgets(buffer, sizeof(buffer), stdin); 
  li=strtol (buffer, NULL, 10);
  return li;
 
}
 
 int Remplissage(int **A, int **B,int c)
  {
    int i=0; int j=0; char buffer[10];int li=0; 
 
 printf("Enter les elements de la premiere matrice\n");
   for(i=0;i<c;i++)
    {
      for(j=0;j<c;j++)
        {
             printf("Enter la valeur de A[%d][%d] ",i,j);
             fgets(buffer, sizeof(buffer), stdin);
             li=strtol (buffer, NULL, 10);
             A[i][j]=li; 
             printf("\n");
        }
 
    }
 
printf("\n deuxième matrice");
      for (i=0;i<c;i++)
          {
             for(j=0;j<c;j++)
               {
                       printf("Enter la valeur de B[%d][%d] ",i,j);
                       fgets(buffer, sizeof buffer, stdin);
                       li=strtol (buffer, NULL, 10);
                       B[i][j]=li; 
                       printf("\n");
               }
          }
return 0;
}
 
int main(int argc, char *argv[])
{
int **M1;
int **M2;
//int **Re; 
 
 int s=SizeMat();
printf("le nombre :%d\n",s);
 
M1=(int **) malloc(s*sizeof(int*));
if (M1 == NULL )
       {  
        fprintf(stderr,"Allocation impossible");
        exit(EXIT_FAILURE);
       }
 
M2=(int **) malloc(s*sizeof(int*));
if ( M2 == NULL )
       {  
        fprintf(stderr,"Allocation impossible");
        exit(EXIT_FAILURE);
       }
 
 Remplissage(M1,M2,s);
 
 
return 0;
 }
merci de votre aide