C Internals
<a href="http://www.avabodh.com/cin/programstructure.html" rel="nofollow">http://www.avabodh.com/cin/programstructure.html</a><p><pre><code>    ...
    void main()
    ...
</code></pre>
That's where I stopped reading.<p>Since this comment is getting downvotes, I'll explain. The "void" keyword was introduced in the 1989 ANSI C standard. That same standard specified that the valid definitions for the main functions are:<p><pre><code>    int main(void) { /* ... */ }
</code></pre>
and<p><pre><code>    int main(int argc, char *argv[]) { /* ... */ }
</code></pre>
or equivalent (or implementations can support other forms). There has never been a version of C in which "void main()" is a valid way to define the main function.<p>It's a small detail, and yes, many compilers will let you get away with it (the language doesn't require a diagnostic), but anyone writing about C should be aware of this, and should set a good example by writing correct code.<p>Maybe the site is OK other than that, but it doesn't inspire confidence.