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 :

Utiliser les varargs.


Sujet :

C

  1. #1
    Membre confirmé Avatar de ze veritable farf
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 152
    Par défaut Utiliser les varargs.
    Bonjour a tous,

    Dans ma quete de l'apprentissage du C, je dois implementer une fonction capable d'afficher n caractere.

    Seulement, mon probleme, c'est que lorsque je l'apelle plusieurs fois, seul le premier appel est execute et je n'arrive pas a determiner pourquoi ?

    Auriez-vous une idee ?

    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
    17
    18
    19
    20
    21
    22
    23
    #include<stdarg.h>
     
    int            func(int first, ...)
    {
      va_list       args;
      int           n;
     
      va_start(args, first);
      while (n != 0)
        {
          n = va_arg(args, int);
          write(1, &n, 1);
        }
      va_end(args);
      return (0);
    }	
     
    int	main()
    {
      func(0, 't', 'o', 't', 'o', 0);
      func(0, 'R', 0);
      return (0);
    }

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par ze veritable farf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    {
      va_list       args;
      int           n;
     
      va_start(args, first);
      while (n != 0)
    n n'est pas initialisé avant usage.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    #include <stdio.h>
    #include<stdarg.h>
     
    int func(int first, ...)
    {
       va_list args;
       int n;
     
       va_start(args, first);
       while ((n = va_arg(args, int)) != 0)
       {
          putchar(n);
       }
       va_end(args);
     
       return 0;
    }
     
    int main()
    {
       func(0, 't', 'o', 't', 'o', 0);
       func(0, 'R', 0);
       return 0;
    }
    Pose des questions si tu ne comprends pas.

  3. #3
    Membre confirmé Avatar de ze veritable farf
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 152
    Par défaut
    Merci emmanuel ! c'etait ca en fait. Je ne l'avais pas vu.

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

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 11
    Dernier message: 22/12/2003, 21h06
  3. Comment utiliser les styles XP avec Dev-C++?
    Par abraxas dans le forum Dev-C++
    Réponses: 3
    Dernier message: 05/10/2003, 19h47
  4. Merci d'utiliser les TAG
    Par Cian dans le forum Etudes
    Réponses: 0
    Dernier message: 07/08/2003, 17h46
  5. Utiliser les frames
    Par laury dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/05/2003, 10h14

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