1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| void vfoo(int i, va_list ap)
{
char c;
while ((c = va_arg(ap, char)) != '\0') {
printf("%c\n", c);
}
}
void foo(int i, ...)
{
va_list ap;
va_start(ap, i);
vfoo(i, ap);
va_end(ap);
}
void vbar(const char* format, va_list ap)
{
vfoo(15, ap);
}
void bar(const char* format, ...)
{
va_list ap;
va_start(ap, format);
vbar(format, ap);
va_end(ap);
}
/* main() retourne un int. Toujours. */
int main(void) {
bar("", 'a', 'b', 'c', '\0');
foo(156, 'a', 'b', 'c', '\0');
return 0;
} |
Partager