Question

Lors de la recherche de tout sur la fonction getchar () sur ce très bon site, j'ai trouvé ce post: Pourquoi getchar () n'attend pas que j'appuie sur Entrée après Scanf ()?

#include <stdio.h>

int main()
{
    int value;
    printf("1. option 1.\n2. option 2.\n3. option 3.\n4. Exit\n\nMake an option: ");
    scanf("%d", &value);
    switch (value)
    {
        case 1:
            printf("you selected the option 1.");
            break;
        case 2:
            printf("you selected the option 2.");
            break;
        case 3:
            printf("you selected the option 3.");
            break;
        case 4:
            printf("goodbye");
            break;
        default:
            printf("thats not an option");
            break;
    }
    getchar();//here is the question,why it's useful ?
    return 0;
}

Je comprends l'ensemble du programme, et je comprends que chaque fois qu'il s'appelle, GetChar lit le caractère d'entrée suivant d'un flux de texte et le renvoie comme valeur. C'est-à-dire après

c = getchar();

La variable C contient le caractère suivant de l'entrée. Les personnages proviennent normalement du clavier.

Mais voici la question: pourquoi le programmeur a-t-il appelé getchar () à la fin du programme?

Était-ce utile?

La solution

Cette pratique est utilisée spécialement pour les applications de console, de cette façon, vous forcez le programme à ne pas vous arrêter avant d'appuyer sur une touche afin que vous puissiez lire la sortie. Habituellement, la console se ferme lorsque l'exécution du programme se termine

Autres conseils

La dernière fonction getchar () est là pour que l'application attende une pression de clés avant de quitter.

Généralement, dans les applications de console, lorsque vous travaillez dans un IDE et exécutez le code, une fenêtre de terminal apparaît exécute le code, et dès que la fonction principale se termine, la fenêtre de terminal disparaît également, et les utilisateurs ne peuvent pas voir la dernière sortie. Nous devons faire en sorte que l'écran attend. Une façon consiste à faire la fin du programme en attendant une entrée. Certaines personnes utilisent une fonction d'entrée non frappée à la fin, donc chaque fois que vous appuyez sur une touche, la fonction la lit et revient immédiatement. Dans ce cas, vous utilisez getchar qui est une fonction d'entrée tamponnée, dans ce cas, lorsque vous avez terminé d'inspecter l'écran, appuyez sur n'importe quel caractère et appuyez sur Entrée qui reviendra de la fonction et après cela terminez le programme. Tu aurais pu utiliser scanf ou d'autres façons de maintenir l'écran aussi.

Il est bon pour le débogage, veuillez le retirer de la version finale.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top