C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)

Example
#define debug (...) fprintf (stderr, __VA_ARGS__)
// The ellipsis (...) matches an arbitrary positive number of
// macro arguments that can be referred to by __VAR_ARGS__
// includes the separating commas)
debug ("flag");
// expands to: fprintf (stderr "flag");
debug ("x = %i\n", x);
// expands to: fprintf (stderr "x = %i\n", x);
460 c99 Selected Features (C99LITE)