Listing 5 append.c appends a formatted string to another string

/* append.c:    Append a formatted string to another string */
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#define WIDTH 80
char *append(char *s, char *fmt, ...)
{
   if (s != NULL && fmt)
   {
      va_list args;
      va_start(args,fmt);
      vsprintf(s+strlen(s),fmt,args);
      va_end(args);
   }
   return s;
}

main()
{
   char s[WIDTH +1] = "We're";
   append(s," number %d!\n",1);
   puts(s);
   return 0;
}

Output:
/* We're number 1! */
/* End of File */