1  #include <stdarg.h>
       2  
       3  void vafunction (char *dummy, ...)
       4  {
       5    double darg;
       6    int iarg;
       7    int flag = 0;
       8    int i;
       9    va_list ap;
      10  
      11    va_start(ap, dummy);
      12    for (i = 1; i <= 18; i++, flag++) 
      13      {
      14        if (flag & 1)
      15  	{
      16  	  darg = va_arg (ap, double);	
      17  	  if (darg != (double)i)
      18  	    abort();
      19  	}
      20        else
      21  	{
      22  	  iarg = va_arg (ap, int);
      23  	  if (iarg != i)
      24  	    abort();
      25  	}
      26      }
      27      va_end(ap);
      28  }
      29  
      30  int main (void)
      31  {
      32    vafunction( "", 
      33  	1, 2., 
      34  	3, 4., 
      35  	5, 6., 
      36  	7, 8., 
      37  	9, 10.,
      38  	11, 12.,
      39  	13, 14.,
      40  	15, 16.,
      41  	17, 18. );
      42    exit(0);
      43    return 0;
      44  }