#include <stdio.h>
#include <stdarg.h>
#include <ctype.h>

long double summe(char format, ...)
{
 va_list vazeiger;
 long double wert;
 long double ergebnis=0;

 va_start(vazeiger,format);

 while(format != 'e')
 {
  switch(tolower(format))
   {
    case 'c' :
    case 'd' : wert=va_arg(vazeiger,int);          break;
    case 'l' :  wert=va_arg(vazeiger,long);        break;
    case 'f' :  wert=va_arg(vazeiger,double);      break;
    case 'x' : wert=va_arg(vazeiger,long double);  break;
   }
  ergebnis+=wert;
  format=va_arg(vazeiger,int);
 }
 va_end(vazeiger);
 return ergebnis;
}

int main()
{
 long double gesamt;
 gesamt=summe('d', 100, 'l', 10000, 'f', 0.99, 'c', 'a', 'z', 1e9L, 'e');
 printf("%ld\n",summe);
 return 0;
}