00001 #include <stdio.h> 00002 #include <stdarg.h> 00003 00004 int min(int first, ...) { 00005 va_list ap; // La liste des arguments. 00006 va_start(ap, first); // Initialisation de la structure ap. 00007 int res = first, next = first; 00008 while (next >= 0) { 00009 if (next < res) res = next; 00010 next = va_arg(ap, int); // On récupère le prochain argument. 00011 } 00012 va_end(ap); // Fin d'utilisation de ap. 00013 return res; 00014 } 00015 00016 int main() 00017 { 00018 int m1 = min(14,5,17,2,11,-1); // -1 indique la fin de la liste d'arguments. 00019 int m2 = min(27,11,79,-1); 00020 printf("m1 = %d \t m2 = %d\n",m1,m2); 00021 return 0; 00022 }