Caractere '1' '2' '3' etc ..
Résolu
Francky_
Messages postés
64
Statut
Membre
-
Francky_ Messages postés 64 Statut Membre -
Francky_ Messages postés 64 Statut Membre -
Bonjour,
Je déclare 2 caracteres
char a = '4';
char b = '2';
je fais un cast pour récupérer le caractere '4' en 4 et '2' en 2
int x=(int)a;
int y=(int)b;
Ensuite je fais une opération sur mes 2 entiers
int c=x/y;
Et enfin j'aimerais afficher le caractère correspondant au chiffre du résultat.
J'ai essayé de faire :
int resultat = c - '0';
printf("%c",resultat);
Dans l'exemple ça devrait m'afficher le caractere '2' mais j'aimerais aussi que ça marche pour les autres opérateurs - + / *
merci
Je déclare 2 caracteres
char a = '4';
char b = '2';
je fais un cast pour récupérer le caractere '4' en 4 et '2' en 2
int x=(int)a;
int y=(int)b;
Ensuite je fais une opération sur mes 2 entiers
int c=x/y;
Et enfin j'aimerais afficher le caractère correspondant au chiffre du résultat.
J'ai essayé de faire :
int resultat = c - '0';
printf("%c",resultat);
Dans l'exemple ça devrait m'afficher le caractere '2' mais j'aimerais aussi que ça marche pour les autres opérateurs - + / *
merci
A voir également:
- Caractere '1' '2' '3' etc ..
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Caractere speciaux - Guide
- Ai suite 3 - Télécharger - Optimisation
2 réponses
Hello,
Si tu veux récupérer la valeur numérique, il faut faire ceci:
A noter que
je fais un cast pour récupérer le caractere '4' en 4 et '2' en 2x et y ne vont pas contenir 4 et 2 mais plutôt 52 et 50, qui correspondent aux codes ASCII des caractères '4' et '2'
int x=(int)a;
int y=(int)b;
Si tu veux récupérer la valeur numérique, il faut faire ceci:
int x=(int)(a - '0'); // ou bien (int)a - 48 (48 étant le code ASCII de '0')
int y=(int)(b - '0');
A noter que
int c=x/y;est une division entière...
un grand merci, ça marche impec. ;)
je mets en résolu