C Interview Questions and Answers

 

I heard that you have to include stdio.h before calling printf. Why?

So that a proper prototype for printf will be in scope.



A compiler may use a different calling sequence for functions which accept variable-length
argument lists. (It might do so if calls using variable-length argument lists were
less efficient than those using fixed-length.) Therefore, a prototype (indicating,
using the ellipsis notation ``...'', that the argument list is of variable
length) must be in scope whenever a varargs function is called, so that the compiler
knows to use the varargs calling mechanism.

Posted by:Richards