That's a good question to ask.
In fact, printf is not overloaded, C language does not support function overloading this sentence is right.
The printf function is implemented by a variable-length parameter table . You can look at the function prototype declaration of printf.
The implementation of printf functions is different on different machines, but the interfaces provided are consistent.
The correct declaration form of the printf function is as follows:
int printf (const *FMT,...)
Where ellipses indicate that the number and type of parameters in the parameter table are variable. It is a fixed form of a variable-length parameter table.
Ellipses can only appear at the end of the parameter table.
In particular, you should check the Internet, I did not study the prototype.
I think since you can ask this question, the information is not difficult to understand, soon can understand what is going on. Once you understand it, you'll be able to write the function of the variable-length parameter table yourself. Good cheer!
Note: Go from this link: Http://zhidao.baidu.com/question/487210770.html?qbl=relate_question_2&word=c%D3%EF%D1%D4%D3%D0%BA %af%ca%fd%d6%d8%d4%d8%c2%f0
In C, since function overloading is not supported, what does printf do? In the C language, is it not overloaded?