Partage
  • Partager sur Facebook
  • Partager sur Twitter

Plante quand demande caractere puis chaine

IDE Code::Bloks

9 février 2006 à 17:31:54

Bonjour à vous !

Je rencontre un petit problème en C :

J'ai créé 2 fonctions qui permette de demander à l'utilisateur respectivement : 1 caractère et une chaine de caractères, voici les deux fonctions :

void demander_char(char *caractere)
    {
        printf("Entrez s'il vous plait un caractere : ");
        scanf("%c",caractere);

        printf("\n\n");
    }


void demander_chaine(char chaine[])
    {
        printf("Entrez s'il vous plait une chaine de caracteres :\n\t");
        scanf("%[^\n]s",chaine);

        printf("\n\n");
    }


Pour tester les 2 fonctions séparément, pas de problème, les 2 codes suivants fonctionne impec :
#include <stdio.h>
#include <stdlib.h>
#include "demander.h"

int main()
{
    char caractere;

    demander_char(&caractere);
    printf("Vous avez choisi le caractere : %c",caractere);

        return 0;
}

et
#include <stdio.h>
#include <stdlib.h>
#include "demander.h"

int main()
{
    char chaine[200];

    demander_chaine(chaine);
    printf("Vous avez choisi la chaine : %s",chaine);

        return 0;
}




Mais quand je mets les deux, ça plante quand on valide le caractère et ça fait une erreur Windows (... a rencontré un problème et doit fermer ( avec possibilité d'envoyer un rapport d'erreur ) :
#include <stdio.h>
#include <stdlib.h>
#include "demander.h"

int main()
{
    char caractere;
    char chaine[200];

    demander_char(caractere);
    demander_chaine(chaine);

        return 0;
}


Je ne comprends pas mon erreur, il y a forcément une difference entre ces trois codes mais je ne la vois pas... Pouvez vous m'aider ?

Merci d'avance !
  • Partager sur Facebook
  • Partager sur Twitter