1 #include <stdarg.h> 2 3 struct tiny 4 { 5 char c; 6 }; 7 f(int n,...)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 main()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