Résolu Programmation C, probleme de lettre convertie en nombre.

Solutions (1)
Tags :
  • Programmation
|
Voila, j'essai de demander à un utilisateur de choisir une lettre, mais une fois fait la lettre qu'il a choisi est convertie en nombre. Ex:
je rentre "r" quand je demande de passer par if(valeur=="r") ça ne va plus.

Merci d'avance pour vos réponses.
Le code si dessous

#include <stdio.h>
#include <stdlib.h>


int main()
{

char lettre=0;
char mot[5]={0};


printf("Choisissez une lettre.\n%d %d %d %d %d\n",mot[0],mot[1],mot[2],mot[3],mot[4]);
scanf("%c",&lettre);
printf("%c",lettre);



if (lettre=="r")//114 CORRESPOND A LA VALEUR DU "r" ??
{

mot[0]="r";
printf("%d %d %d %d %d",mot[0],mot[1],mot[2],mot[3],mot[4]);

}

else
{printf("\nnop erreur\n%d %d %d %d %d et lettre %d\n",mot[0],mot[1],mot[2],mot[3],mot[4],lettre);}


return 0;
}
  • slaivre a édité ce message
Contenus similaires
Meilleure solution
partage
, Expert en configs PC |
Bonjour,

En C, les char ca n'a aucun sens : un caractère est connu par sa valeur ascii : un char et un int, en termes de data enregistré, c'est la même chose. Il faut spécifié le type de caractère a afficher en printf : %c si tu veux la lettre, %i si tu veux sa valeur ascii.

Dans ton code, ton %d au print f, ca veut dire que tu affiche ta valeur au format décimal. Enjoy !

Exemple :

a suite d'instructions:

char B = 'A';
printf("Le caractère %c a le code %i !\n", B, B);
va afficher sur l'écran:
Le caractère A a le code 65 !
  • slaivre a sélectionné cette solution comme la meilleure réponse
  • Haldriel a édité ce message
  • Commenter cette solution |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS