在C中使用默认参数的最简单方法

时间:2016-05-26 01:26:57

标签: c

我需要创建一个函数,其中有一个默认参数:

void func ( int a, int b = 1 );
// and
func (1, 2);
func (1);

2 个答案:

答案 0 :(得分:5)

这很简单。 中没有默认参数,代码无效。您始终可以使用具有默认参数的并且非常有用。但在中,没有办法实现这一目标。

答案 1 :(得分:5)

C不支持默认参数,尽管你有时可以使用预处理器来破解类似的东西:

void func(int a, int b);
#define TWO_ARGS(A, B, ...)  A, B
#define func(...) func(TWO_ARGS(__VA_ARGS__, 1))

func(1, 2);  /* calls func(1, 2); */
func(1);     /* calls func(1, 1); */