Quote Originally Posted by Overworked_PhD View Post
This line

Code:
int
main ()
should either be

Code:
int
main (void)
or

Code:
int
main (int argc, char **argv)
The original is of course perfectly acceptable: 6.7.5.3, paragraph 14, says that
An identifier list declares only the identifiers of the parameters of the function. An empty
list in a function declarator that is part of a definition of that function specifies that the
function has no parameters.
And naturally 5.1.2.2.1 does not claim that the definition of int main must look exactly as given on the page, only that it be consistent with the definition.