1#include <stdarg.h> 2 3struct tiny 4{ 5 char c; 6}; 7 8f (int n, ...) 9{ 10 struct tiny x; 11 int i; 12 13 va_list ap; 14 va_start (ap,n); 15 for (i = 0; i < n; i++) 16 { 17 x = va_arg (ap,struct tiny); 18 if (x.c != i + 10) 19 abort(); 20 } 21 { 22 long x = va_arg (ap, long); 23 if (x != 123) 24 abort(); 25 } 26 va_end (ap); 27} 28 29main () 30{ 31 struct tiny x[3]; 32 x[0].c = 10; 33 x[1].c = 11; 34 x[2].c = 12; 35 f (3, x[0], x[1], x[2], (long) 123); 36 exit(0); 37} 38 39