LINUX.ORG.RU

История изменений

Исправление Darth_Revan, (текущая версия) :

Чем меньше исключений в правилах, тем они проще.

Тоже верно, но, одновременно с тем, наличие или отсутствие аргументов у main() имеет значение только когда его надо вызвать (не надо так делать).
Да и в плане логики языка int main (int, char*[]) и int main () – это одно и то же, только во втором случае прототип опускается, в отличие от int main (void), кой по идее уже отдельный вызов получается.

А если/когда выкинут из C необязательность прототипирования, тогда int main () автоматически станет более чистым синонимом int main (void) (как в C++ сейчас), т.е. win-win.

Исправление Darth_Revan, :

Чем меньше исключений в правилах, тем они проще.

Тоже верно, но, одновременно с тем, наличие или отсутствие аргументов у main() имеет значение только когда его надо вызвать (не надо так делать).
Да и в плане логики языка int main (int, char*[]) и int main () – это одно и то же, только во втором случае прототип опускается, в отличие от int main (void), кой по идее уже отдельный вызов.

А если/когда выкинут из C необязательность прототипирования, тогда int main () автоматически станет более чистым синонимом int main (void) (как в C++ сейчас), т.е. win-win.

Исходная версия Darth_Revan, :

Чем меньше исключений в правилах, тем они проще.

Тоже верно, но, одновременно с тем, наличие или отсутствие аргументов у main() имеет значение только когда его надо вызвать.
Да и в плане логики языка int main (int, char*[]) и int main () – это одно и то же, только во втором случае прототип опускается. А вот int main (void) – это уже отдельный вызов…

А если/когда выкинут из C необязательность прототипирования, тогда int main () автоматически станет более чистым синонимом int main (void) (как в C++ сейчас), т.е. win-win.