匿名可变参数:#define TRACE(fmt, ...) fprintf(stderr, fmt, ##__VA_ARGS__)带名称的可变参数:#define TRACE(fmt, args...) fprintf(stderr, fmt, ##args)“##”会将可变参数列表连接在固定参数的后面,如果可变参数列表为空,"##"会将前面多余的“,”去掉