#include <stdarg.h>
#include <stdio.h>
#include <string.h>

char * stringcat(char *s,...)
{
 va_list strings; /*Speichert Information für va_arg und va_end*/
 char *p;

/* Copy first string */
 va_start(strings,s); /*Zeigt auf dem ersten Parmeter string1*/
 if ((p = va_arg(strings,char *)) == NULL)
  {
   *s = '\0';
   return s; /*Falls nur ein Argument übergeben wurde*/
  }
 else
   strcpy(s,p);

/* Append others */
 while ((p = va_arg(strings,char *)) != NULL)
     strcat(s,p);
 return s;
}

int main()
{

 char buf[100];
 char string1[10],string2[10],string3[10];
 char c = '/';
 int prozent=100;
 int teiler = 3;
 float schnitt = 33.34;
 char string[] = "und das als String";

 sprintf(string1,"%d\% ",prozent);
 sprintf(string2," %c%d ",c,teiler);
 sprintf(string3," =%.2f\% ",schnitt);


 stringcat(buf,string1,string2,string3,string,NULL);
 printf("%s\n",buf);
 return 0;
}