<-->
int printing( const char *fmt, ...) {
  va_list ap;
  char output[1024];
  
  va_start(ap, fmt);
        
  while( *fmt ) {
    if( *fmt != '%' ) {
        putc( *fmt++ );
    } else { /* Parameter substituieren */
      switch( *++fmt ) {
      case 'd':
          int a = va_arg( ap, int );
          /* Zahl a ausgeben */
          break;
      case 's':
          char *s = va_arg( ap, char *); 
          /* String ausgeben */
      ....
    }
  }
  
  va_end(ap);
}