不定引數函式呼叫不定引數函式
阿新 • • 發佈:2019-02-01
#include <stdarg.h> #include <stdio.h> int myprintf(const char *fmt, ...) { int ret; va_list ap; va_start(ap, fmt); ret = vprintf(fmt, ap); va_end(ap); return ret; } void logv(const char *file, int line, const char *fmt, ...) { va_list ap; va_start(ap, fmt); printf("%s:%d: ", file, line); vprintf(fmt, ap); va_end(ap); } #define dolog(fmt, ...) logv(__FILE__, __LINE__, fmt, __VA_ARGS__) int main(int argc, char *argv[]) { myprintf("argc=%d\n", argc); dolog("argc=%d\n", argc); return 0; }