C中的函数具有无限的参数?

时间:2010-12-30 03:25:10

标签: c

我想用C语言定义一个函数,它可以接受任意数据类型的无限数量的参数。 例如:printf()scanf()

对此有什么想法吗?

4 个答案:

答案 0 :(得分:8)

要在C中使用可变数量的参数,您需要包含标题

#include <stdarg.h>
C中的

printf()是一个带有可变数量参数的函数示例。

int printf(const char *fmt, ...)

更多信息here

答案 1 :(得分:5)

将函数声明为采用...最后一个参数。您需要使用<stdarg.h>中的宏来以va_list的形式访问参数。

如果您只想要“printf,但有一些额外的行为”,那么您可以将va_list传递给vprintfvfprintf或{{ 1}}。

vsprintf

答案 2 :(得分:2)

void printf(char* format, ...)
{
}

查找Variadic Functionsvarargs.hstdarg.h(取决于编译器)。

答案 3 :(得分:1)

请参阅<stdarg.h>标题和相关文档。