1 #include <stdio.h>
2 #include <stdarg.h>
3
4
5 void
test1(int d0,int d1,int d2,int d3,int d4,int d5,int d6,int d7,int d8,int d9,int d10,int d11,char * fmt,...)6 test1(int d0, int d1, int d2, int d3, int d4, int d5,
7 int d6, int d7, int d8, int d9, int d10, int d11,
8 char *fmt, ...) {
9 char *p;
10 va_list va;
11
12 va_start(va, fmt);
13
14 for (p = fmt; *p != 0; ++p) {
15 switch (*p) {
16 case 'i': {
17 int i = va_arg(va, int);
18 printf("%d\n", i);
19 break;
20 }
21 case 'l': {
22 long long l = va_arg(va, long long);
23 printf("%lld\n", l);
24 break;
25 }
26 case 'd': {
27 double d = va_arg(va, double);
28 printf("%f\n", d);
29 break;
30 }
31 case 'L': {
32 long double ld = va_arg(va, long double);
33 printf("%Lf\n", ld);
34 break;
35 }
36 default:
37 ;
38 }
39 }
40 va_end(va);
41 }
42
43 int
main()44 main() {
45 #if 0
46 test1("i i d l L i l d L i L i i L",
47 1, 2, 3.0, 4LL, 5.0L,
48 6, 7LL, 8.0f, 9.0L, 10,
49 11.0L, 12, 13, 14.3L);
50 #endif
51 test1(0,0,0,0,0,0,0,0,0,0,0,0,"i i i i", 1, 2, 3, 4);
52 }
53
54