Variable arguments
Using an explicit count argument to determine the length of the va list
Using terminator values to determine the end of va list
Implementing functions with a printf-like interface
Using a format string