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 étonnantc'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"); }
Partager