This is a rather pedantic nitpick, but my flame retardant suit is fully donned.

From the FAQ:

"(C) The difference between int main() and int main(void)

A common misconception for C programmers, is to assume that a function prototyped as follows takes no arguments:

int foo();

In fact, this function is deemed to take an unknown number of arguments. Using the keyword void within the brackets is the correct way to tell the compiler that the function takes NO arguments."

While it is true that the prototype int foo(); means that the function takes an unknown number of arguments, it is not true when it comes to the definition:
Code:
int foo()
{
     return 0;
}
The above function is defined to take exactly zero arguments. This is just as valid in C99. Indeed, in the C99 standard, it even has int main() in one or more code examples.

From the above FAQ also:

"Under C89, main() is acceptable, although it is advisable to use the C99 standard, under which only these are acceptable:

int main ( void )
int main ( int argc, char *argv[] )"

From how I interpret the standard, it is perfectly acceptable in C99 to use:
Code:
int main()
{
    
}
See ISO 9899:1999 section 6.5.4.3.7 and 6.7.5.3.16 for examples of using int main() { }.

From ISO 9899:1999 section 6.7.5.3.10 (bold and underline is mine):

"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. The empty list in a function declarator that is not part of a definition of that function specifies that no information about the number or types of the parameters is supplied."

It also has a footnote for that paragraph directing us to section 6.11.3:

"The use of function declarators with empty parentheses (not prototype-format parameter type declarators) is an obsolescent feature."

So, while it is considered obsolescent, it has not been made illegal in C99.

Of course, if you were to prototype main, you would need int main(void);