mainの戻り値をvoidにしている所は駄目なCやC++のサイト・本などを判別する指標になる。
正式なのはint main(void)とint main(int argc, char *argv[])だけ。
ただし同じ意味になるのであれば多少の相違点があっても問題ない。
例えばC++ではint main()も正しい。C++ではint main(void)と同じになるから。