我想将参数的数量保存在块或计数中。 不能自动询问参数编号吗?
void format(int max, ...)
{
va_list arg_ptr;
int args;
char* day;
va_start(arg_ptr, max);
args = 0;
while (args < max)
{
day = va_arg(arg_ptr, char*);
printf("Day: %s\n", day);
args++;
}
va_end(arg_ptr);
}
format(2, "Sat", "Sun");
答案 0 :(得分:2)
不,不可能。在运行时无法获得通过va_args
传递的参数数量。如果确实存在,那么标准库printf
肯定会在现在使用它来捕获常见的编程错误,包括一些安全漏洞。