1 #include <stdio.h>
2 #include <stdarg.h>
3 #include <stdlib.h>
4 #include <string.h>
5
6
7 int func (int code, ...)
8 {
9 va_list argsPtr;
10 int i, v;
11
12 va_start(argsPtr, code);
13 for (i=1; i<=code; i++) {
14 v = va_arg(argsPtr, int);
15 printf("%d parameter is %d\n", i, v);
16 if (i != v)
17 exit(1);
18 }
19 va_end(argsPtr);
20 return 1;
21 }
22
23
24 int funcptr (int code, ...)
25 {
26 va_list argsPtr;
27 int l, v;
28 char *p;
29
30 va_start(argsPtr, code);
31 switch (code) {
32
33 case 1:
34 p = va_arg(argsPtr, char *);
35 l = va_arg(argsPtr, int);
36 printf("parameter is %s and length %d\n", p, l);
37 if (strlen(p) != l)
38 exit(1);
39 break;
40 }
41 va_end(argsPtr);
42 return 1;
43 }
44
45
46 int funcptrint (char *p, ...)
47 {
48 va_list argsPtr;
49 int l, v;
50
51 va_start(argsPtr, p);
52
53 l = va_arg(argsPtr, int);
54 printf("parameter is %s and length %d\n", p, l);
55 if (strlen(p) != l)
56 exit(1);
57
58 va_end(argsPtr);
59 return 1;
60 }