我想用C语言定义一个函数,它可以接受任意数据类型的无限数量的参数。
例如:printf()
,scanf()
等
对此有什么想法吗?
答案 0 :(得分:8)
要在C中使用可变数量的参数,您需要包含标题
#include <stdarg.h>
C中的 printf()
是一个带有可变数量参数的函数示例。
int printf(const char *fmt, ...)
更多信息here
答案 1 :(得分:5)
将函数声明为采用...
最后一个参数。您需要使用<stdarg.h>
中的宏来以va_list
的形式访问参数。
如果您只想要“printf
,但有一些额外的行为”,那么您可以将va_list
传递给vprintf
,vfprintf
或{{ 1}}。
vsprintf
答案 2 :(得分:2)
void printf(char* format, ...)
{
}
查找Variadic Functions和varargs.h
或stdarg.h
(取决于编译器)。
答案 3 :(得分:1)
请参阅<stdarg.h>
标题和相关文档。