IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

phrase affichée en double: pourquoi?


Sujet :

C

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut phrase affichée en double: pourquoi?
    Bonjour,

    j'ai écrit un programme simple mais l'exécution est curieuse:

    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
    16
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(void)
    {
        int c;
        do
        {
            printf("Tapez un caractère:\n");
            c = getchar();
            putchar(c);
            printf("\n");
        }
        while (c != 'k');
        return 0;
    }
    et là, cela me met:

    Tapez un caractère:
    j
    j

    Tapez un caractère:

    Tapez un caractère:
    l
    l

    Tapez un caractère:

    Tapez un caractère:
    k
    Pourquoi l'information est-elle imprimée en double? J'avoue ne pas saisir!

    Merci par avance,
    johnny

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Puisqu'il y a deux choses affichées en double ici, j'explique les deux:
    • Chaque caractère est affiché en double à cause de l'écho.
      C'est affiché une fois quand tu tapes (écho) et une fois par le putchar().
    • L'invite est affichée en double parce que deux caractères sont saisis à chaque fois: Le caractère visible et le caractère de nouvelle ligne ('\n').
      En fait, tu pourrais saisir une ligne complète et la voir réaffichée en dessous, avec "tapez un caractère" entre chaque caractère saisi.


    Un petit exemple, avec en rouge, ce que tu tapes
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Tapez un caractère:
    coucou
    c
    
    Tapez un caractère:
    o
    
    Tapez un caractère:
    u
    
    Tapez un caractère:
    c
    
    Tapez un caractère:
    o
    
    Tapez un caractère:
    u
    
    Tapez un caractère:
    k
    k

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2008
    Messages : 207
    Points : 114
    Points
    114
    Par défaut
    formidable, merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher un double à partir de la division de 2 entiers
    Par marguerite99 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 11/03/2008, 17h29
  2. Afficher un Double
    Par ericw78 dans le forum Langage
    Réponses: 4
    Dernier message: 11/10/2006, 22h53
  3. Réponses: 4
    Dernier message: 26/08/2006, 02h01
  4. Afficher un double
    Par Zapan dans le forum Langage
    Réponses: 7
    Dernier message: 18/01/2006, 22h08
  5. [C/C++] afficher des doubles dans une message box
    Par lalaurie40 dans le forum MFC
    Réponses: 1
    Dernier message: 24/05/2005, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo