Probleme comprenhension language c
kista
-
cmoivalou Messages postés 597 Statut Membre -
cmoivalou Messages postés 597 Statut Membre -
Bonjour,
Je suis en train d'etuder stdarg.h, pour m'aider j'ai chercher sur le net des fonctions pour voir comment elle fonctionnait, j'ai trouver ceci sur ce site http://membres.lycos.fr/dancel/c/c70_140.htm
Pour m'en impregniez mieu j'ai remplacer les switch par des if car je suis encore un bon debutant
mais la ou je coince cest le switch(*++format), dans mes if jai enleve les ++ puis remis. je n'obtiens plus le meme resultat... donc voila si quelqu'un pouvais m'aiguiller cela m'aiderais a comprendre mieu cette lib
Merci a+
Je suis en train d'etuder stdarg.h, pour m'aider j'ai chercher sur le net des fonctions pour voir comment elle fonctionnait, j'ai trouver ceci sur ce site http://membres.lycos.fr/dancel/c/c70_140.htm
#include <stdio.h>
#include <stdarg.h>
void myprintf(char *format, ...) {
va_list pa;
int n;
char *s, c;
float f;
va_start(pa, format);
while (*format != '\0') {
if ( *format == '%' ) {
switch (*++format) {
case '%' : putchar('%'); break;
case 'c' : /* affichage d'un caractère */
c = va_arg(pa, char);
putchar(c);
break;
case 'd' : /* affichage d'un entier */
n = va_arg(pa, int);
printf("%d", n);
break;
case 'f' : /* affichage d'un float */
f = va_arg(pa, double); /* !!!!! */
printf("%f", f);
break;
case 's' : /* affichage d'une chaîne */
s = va_arg(pa, char *);
for ( ; *s != '\0'; s++ )
putchar( *s );
break;
} /* end switch */
}
else
putchar( *format );
format++;
}
va_end(pa);
}
main() {
myprintf("float = %f\n", (float) 1.2345);
myprintf("int = %d char = %c Chaine = %s\n",
123, 'A', "C is beautiful !" );
return 0;
}
/*-- résultat de l'exécution ---------------------------------
float = 1.234500
int = 123 char = A Chaine = C is beautiful !
--------------------------------------------------------------*/
Pour m'en impregniez mieu j'ai remplacer les switch par des if car je suis encore un bon debutant
mais la ou je coince cest le switch(*++format), dans mes if jai enleve les ++ puis remis. je n'obtiens plus le meme resultat... donc voila si quelqu'un pouvais m'aiguiller cela m'aiderais a comprendre mieu cette lib
Merci a+
A voir également:
- Probleme comprenhension language c
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Windows display language french - Guide
- Autocad 2008 language pack french - Forum AutoCAD
- The language dll vb6fr.dll could not be found - Forum Windows
- Desmume change language - Forum Jeux vidéo