j'ai donc décidé de reprendre tous mes codes et de remplacer tous mes scanf par des fgets. je suis en train d'écrire un traducteur anglais-français (enfin, modeste). or j'ai un souci avec l'utilisation de fgets:

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
 
 
char choix[3]
....
 
while (k==0) {              
       printf("\nvoulez-vous ajouter un autre mot ? o/n : ");
       if (fgets (choix, sizeof choix, stdin) != NULL) {
                   char *p = strchr (choix, '\n');
                   if (p){*p = 0;}}
       printf("%s",choix); /* rajouté pour essayer de comprendre*/
       if (choix=="n") {printf("implémentation terminée");fclose(base);k=1;fin=1;} 
       else if (choix=="o") k=1;
       else {printf("erreur : réponse non valide !\n");k=0;}
}
la fonction printf("%s",choix) me renvoie bien "n" ou "o", mais la boucle if m'écrit toujours "réponse non valide".

quelqu'un a une idée ?

j'ajouterais que quand je lui demande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
printf("choix 0 \'%c\' choix 1 \'%c\' choix 2 \'%c\'",choix[0],choix[1],choix[2]);[quote]
 
il m'écrit: '0' ' ' ' ' .
 
je ne comprends pas.[/quote]