Code faux

Résolu
Bonjour,
j'aimerai que me donner la correction

----------------------------------------------
#include<string.h>
#include<conio.h>
#include<stdio.h>
main()
{
int i;
char *nom[3];

for(i=0;i<3;i++){
scanf("%s",&nom[i]);
}
for(i=0;i<3;i++){
printf("%s",nom[i]);
}
getchar();
}
--------------------------------------------
Configuration: Windows Vista
Internet Explorer 7.0

7 réponses

  1. ???
    1. ce code la est faux.
      je voudrai le vrai code
  2. C'est un exo qu'on t'a donner ?
    1. jai rien compris
  3. C'est un exercice qu'on t'a donner à faire ?

    Car tu n'expliques rien , tu demandes même pas stp ni rien...
    1. c moi qui a le fait et ne fonctionne pas
      c pour cela jai demandé à COMMENCAMARCHE de m'aider
  4. Contributeur
    Salut,
    Effectivement il y a plein d'erreurs.
    Tu as oublié d'allouer la mémoire à tes pointeurs.
    Il existe plusieurs solutions possibles. Tu peux utiliser un tableau 2D statique ou allouer les pointeurs. Je te donne la première solution.

    int main(void) {
        int i;
        char nom[3][128];
    
        for(i=0;i<3;i++){
            scanf("%127s",nom[i]);
        }
        for(i=0;i<3;i++){
            puts(nom[i]);
        }
        
        getchar();
        return 0;
    } 
    
    1. Je trouve que le titre est bien trouvé !
      On ne connait pas le problème... il n'y a pas de question posée, et pourtant... on sait qu'à l'exécution ça va planter !!!
      Pourquoi ? On déclare un tableau et on l'utilise et il n'y a pas d'allocation donc on sait, sans boule de cristal, qu'on va au casse-pipe !
      1. et la solution? qui ce qu'on vas changer
      2. @fiddyoui ca marche mais il n'affiche pas les noms qui jai entrer
      3. Contributeur
        @Utilisateur anonymeMais si ça marche ;).
        Tu rentres par exemple, titi, toto, tata. Et après il va t'afficher tes cases ;).
        Si ça ne marche pas, dis ce que tu as écris pour que rien ne s'affiche.
    2. Contributeur
      Ah oui normal vu que tu ne dois pas lancer le mode en mode console.
      Essaie plutôt :
      int main(void) {
          int i;
          char nom[3][128];
      
          for(i=0;i<3;i++){
              scanf("%127s",nom[i]);
              while(getchar()!='\n');
          }
          for(i=0;i<3;i++){
              puts(nom[i]);
          }
          
          getchar();
          return 0;
      } 
      
      
      1. ça marche
        merci bien