3 votes

Convertir une entrée de caractères en sortie décimale - je ne comprends pas

J'apprends donc le C aujourd'hui. J'ai écrit un peu de code pour obtenir une entrée avec getchar() et la sauvegarder dans une variable pour comprendre comment l'entrée en entier fonctionne.

Ainsi, si je saisis une entrée avec mon clavier, par exemple "1", et que j'appuie sur la touche Entrée, je reçois une valeur de 4910. Je m'attendais à une valeur de 49 car le code Ascsii décimal pour le caractère "1" est 49. D'où vient le 10 ?

#include <stdio.h>
/* count lines in input */
main()
{
    int c;
    while ((c = getchar()) != EOF)
        printf("%d",c);

}

7voto

ForceBru Points 9725

10 est le code ASCII du caractère de nouvelle ligne, '\n' . Vous saisissez ce caractère lorsque vous appuyez sur la touche Entrée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X