Bonjour,
à l'exécution de ce programme seuls les deux 1ères chaines apparaissent
pourquoi ? quel est le problème pourtant les 9 chaines sont allouées ??
ce qui est plus étonnant c'est que en faisant une boucle for (j=0 ;nomvol[j]!=NULL;j++); le j aura comme valeur 9 ???

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
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main ()
{
     char **nomvol;
     int i,j;
 
 
     nomvol=(char**)malloc(50*sizeof (char*));
     for (i=0;i<9;i++)
     {
      nomvol[i] = (char*)malloc(50 * sizeof(char));
     scanf("%s",nomvol[i]);
 
     }
     for(j=0;j<9;j++)
     printf(" %s\n",nomvol[j]);
 
     system("pause");
     }