Автор Тема: int main () и void main ()  (Прочитано 2151 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rachtyrgin

  • Сообщений: 1165
  • Пол: Мужской
Ответ #25 : Сентября 19, 2020, 20:16
Не поверите - показался примитивным. У меня рабочий язык C#. Округленно говоря, в нем я могу решить любую задачу тремя способами. В го - только одним. Ну, и проблема визуализации. Я пишу для десктопа, а го - это скорее серверный язык.
Всякому остановленному фашисту для захвата его в плен можешь еще крикнуть:
«Хэндэ хох!» (Руки вверх!)
«Вафи хинлеги!» (Бросай оружие!)
«Абгезэсен!» (Слезай! — С машины, с лошади, с повозки.)
Если фашист не сразу исполняет твое приказание, крикни грознее и добавь:
«Бай флухтфэрзух вирт гэшози!» (Побежишь — буду стрелять!)
А. Афанасьев. В помощь партизану. Москва, 1942 г.

Оффлайн jvarg

  • Сообщений: 17486
  • Пол: Мужской
Ответ #26 : Сентября 19, 2020, 20:34
Цитировать
Сергей, по стандарту функция main должна быть объявлена с типом int. Какой смысл писать void?

Так стандартов несколько.

Когда я в детстве листал учебник по Си (не Си++), там, ЕМНИП, было "void". Но точно не уверен, давно было.
Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

Оффлайн Rachtyrgin

  • Сообщений: 1165
  • Пол: Мужской
Ответ #27 : Сентября 19, 2020, 20:57
У меня такие соображения: main не должна быть пустой функцией, потому что она возвращает ноль при нормальном завершении работы программы. Но я не являюсь знатоком C и могу ошибаться.
Всякому остановленному фашисту для захвата его в плен можешь еще крикнуть:
«Хэндэ хох!» (Руки вверх!)
«Вафи хинлеги!» (Бросай оружие!)
«Абгезэсен!» (Слезай! — С машины, с лошади, с повозки.)
Если фашист не сразу исполняет твое приказание, крикни грознее и добавь:
«Бай флухтфэрзух вирт гэшози!» (Побежишь — буду стрелять!)
А. Афанасьев. В помощь партизану. Москва, 1942 г.

Оффлайн kemerover

  • Сообщений: 2963
  • Пол: Мужской
Ответ #28 : Сентября 20, 2020, 03:59
Так стандартов несколько.
Стандарт только один, но со временем он изменяется.

Цитата: C++17 final working draft § 6.6.1
A program shall contain a global function called main.
[...]
An implementation shall not predefine the main function. This function shall not be overloaded. Its type shall have C++ language linkage and it shall have a declared return type of type int, but otherwise its type is implementation-defined. An implementation shall allow both
— a function of () returning int and
— a function of (int, pointer to pointer to char) returning int

Оффлайн jvarg

  • Сообщений: 17486
  • Пол: Мужской
Ответ #29 : Сентября 20, 2020, 04:55
Quote from: C++
"С" и "С++" это разные языки.
Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

Оффлайн kemerover

  • Сообщений: 2963
  • Пол: Мужской
Ответ #30 : Сентября 20, 2020, 05:58
Так тема изначально про C++ вроде. Но это не важно, в C то же самое со времён стандартизации.

Оффлайн jvarg

  • Сообщений: 17486
  • Пол: Мужской
Ответ #31 : Сентября 20, 2020, 09:37
Собственно, спор изначально глупый, так как у самого создателя языка для функции main вообще тип не определялся.

https://www.r-5.org/files/books/computers/languages/c/kr/Brian_Kernighan_Dennis_Ritchie-The_C_Programming_Language-RU.pdf

"...Обычно вы вольны придумывать любые имена для своих функций, но "main" — особое имя: любая программа начинает свои вычисления с первой инструкции
функции main..."

#include <stdio.h>
main()
{
printf ("Hellow, World!\n");
}
Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

Оффлайн Python

  • Сообщений: 49773
  • Пол: Мужской
  • Aluarium agent
Ответ #32 : Сентября 20, 2020, 16:47
Если тип функции не указывается, по умолчанию он считается int.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Оффлайн kemerover

  • Сообщений: 2963
  • Пол: Мужской
Ответ #33 : Сентября 20, 2020, 19:17
А ещё раньше можно было и тип параметров не указывать, он тоже считался int по умолчанию.

 

В быстром ответе можно использовать BB-теги и смайлы.

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.
Имя: E-mail:
Визуальная проверка:
√49 Напишите ответ строчными буквами:
«Сто одёжек, все без застёжек» — что это?: