I had some problems in believing that C99 says that main() implicitly returns 0, so for future reference: It says so in 5.1.2.2.3, even including wording concerning the closing &quot;}&quot; (which seems to me as slightly quirky way to describe what it is describing).<p>As for stdio.h being only header: it makes sense, as headers like stdlib.h and string.h contain mostly function declarations, which you don&#x27;t strictly need in K&amp;R. Some of 80&#x27;s UNIX C code examples in books I&#x27;ve seen don&#x27;t include anything (and there are even some that declare things like FILE and errno directly without including it from anywhere).