printf支持函数重载在C?

可能重复:
C支持重载吗?

我想知道printf是否支持C中的函数重载,因为在一个C程序中可以以多种方式使用相同的printf函数。

如果你的意思是区别

printf("something: %d\n", number); printf("something else: %d, %s\n", number, string); 

这与重载无关。 它只是一个可变函数

printf()是一个可变函数,它可以被认为是一种重载forms。 与C ++,Java,C#等语言中的重载函数不同,可变函数不是类型安全的,这就是为什么它们有点不受欢迎。

如果你问的是printf如何采用不同数量和类型的争论,那么不,它不是函数重载。 可以定义函数以获取可变参数列表。

查看stdarg.h以处理变量争论列表

C没有基于签名的多态性,因此您无法执行此操作。 您可以通过以下几种方式执行此操作。

更重要的问题是你为什么要这样做? 为什么printf对你来说不够通用?