nombre d'argument aléatoire dans une fonction

nombre d'argument aléatoire dans une fonction - C - Programmation

Marsh Posté le 20-07-2006 à 15:03:50    


Bonjour,
 
 je voudrai savoir si il est possible de définir une fonction dans laquelle on ne connaitrait pas le nombre d'arguments à l'avance , comme pour la fonction Scanf
 
Merci

Reply

Marsh Posté le 20-07-2006 à 15:03:50   

Reply

Marsh Posté le 20-07-2006 à 15:37:35    

#include <stdargh>
#include <stdio.h>
 
double mini(double first, ...) {
    va_list pointeur;   /* Initialement non affecté */
    double m=first, next=first);
 
    /* On capture la valeur &first */
    va_start(pointeur,first);
 
    /* On traite chaque paramètre */
    while(next>=0) {
      if (next<m) m=next;
      next = (double)va_arg(pointeur, double);
    }
 
    va_end(pointeur);
    return m;
}
 
int main(void) {
    int m1 = mini(3.2,5,8.6,12.9,6,2.1, -1) ;
    int m2 = mini(4.3,6.1, -1) ;
 
    printf("m1 = %lf\n", m1);   /* 2.1 */
    printf("m2 = %lf\n", m2);   /* 4.3 */
 
    return 0;
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed