Erreur d'affichage Matrice

pointAbed Messages postés 1 Statut Membre -  
abdelouafi1 Messages postés 6 Statut Membre -
Voilà le code :
#include<stdio.h>
int main()
{int i,j;
int M[3][3];
//lecture Matrice
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("donner l element [%d][%d]",i,j);
scanf("%d",&M[i][j]);
}
}
//Affichage
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d",M[i][j]);
}
printf("\n");
}
}

je sais pas pourquoi , après compilation , la matrice lis des indices 00 jusqu'à 31 ?!
Aide moi svp

2 réponses

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Je n'ai pas de problème:
    #include <stdlib.h>
    #include <stdio.h>
    const int ROWS = 5, COLS = 2;
    int main(int argc, char* argv[])
    {
      int i,j;
      int M[ROWS][COLS];
      //lecture Matrice
      for(i = 0; i < ROWS; i++)
        {
          for(j = 0; j < COLS; j++)
    	{
    	  /*
      printf("donner l element [%d][%d]", i, j);
    	  */
    	  scanf("%d", &M[i][j]);
    	}
        }
      //Affichage
      for(i = 0; i < ROWS; i++)
        {
          for(j = 0; j < COLS; j++)
    	{
    	  printf("%d ", M[i][j]);
    	}
          printf("\n");
        }
    }

    Compilation et exécution:
    johand@bata:~/src/CCM/C$ gcc -Wall -o print_mat print_mat.c
    johand@bata:~/src/CCM/C$ echo 1 2 3 4 5 6 7 8 9 10 | ./print_mat
    1 2
    3 4
    5 6
    7 8
    9 10


    0