Code faux

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
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. Utilisateur anonyme
     
    ???
    0
    1. Utilisateur anonyme
       
      ce code la est faux.
      je voudrai le vrai code
      0
  2. Utilisateur anonyme
     
    C'est un exo qu'on t'a donner ?
    0
    1. Utilisateur anonyme
       
      jai rien compris
      0
  3. Utilisateur anonyme
     
    C'est un exercice qu'on t'a donner à faire ?

    Car tu n'expliques rien , tu demandes même pas stp ni rien...
    0
    1. Utilisateur anonyme
       
      c moi qui a le fait et ne fonctionne pas
      c pour cela jai demandé à COMMENCAMARCHE de m'aider
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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;
    } 
    
    0
  6. loupius
     
    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 !
    0
    1. Utilisateur anonyme
       
      et la solution? qui ce qu'on vas changer
      0
    2. Utilisateur anonyme > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
       
      ok je veux le tester
      0
    3. Utilisateur anonyme > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
       
      oui ca marche mais il n'affiche pas les noms qui jai entrer
      0
    4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > Utilisateur anonyme
       
      Mais 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.
      0
  7. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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;
    } 
    
    
    0
    1. Utilisateur anonyme
       
      ça marche
      merci bien
      0