+ 1
main() is only allowed in C89, where the return typeis not specified. It implicitly returns int to the OS. But, it was dropped in C99.
void main(void) is invalid which can result into something undefinable. It means that function main is accepting no parameters and most importantly return nothing the OS, which is not allowed in current OS regime. As the OS required to know whether the program below crashed or ended up nicely.
int main() is the best way to write main without program arguments. Alternatively int main(char* argv, int argc )in order to process program arguments.