va_start:
num_args:最后一个已知参数,也是可变参数的前一个参数。
ap :va_list结构,存储通过va_arg获取其他可变参数时所必需的信息。
vsprintf取他时,取出所有的可变参数。
va_arg:
va_arg(va_list ap, type) 检索函数参数列表中类型为 type 的下一个参数。
它无法判断检索到的参数是否是传给函数的最后一个参数。
va_end:
释放指针,将输入的参数 ap 置为 NULL。通常va_start和va_end是成对出现。