Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

int main () и void main ()

Автор From_Odessa, декабря 20, 2019, 17:45

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

Rachtyrgin

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

jvarg

ЦитироватьСергей, по стандарту функция main должна быть объявлена с типом int. Какой смысл писать void?

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

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

Rachtyrgin

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

kemerover

Цитата: jvarg от сентября 19, 2020, 20:34
Так стандартов несколько.
Стандарт только один, но со временем он изменяется.

Цитата: 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

Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

kemerover

Так тема изначально про C++ вроде. Но это не важно, в C то же самое со времён стандартизации.

jvarg

Собственно, спор изначально глупый, так как у самого создателя языка для функции 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

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

kemerover

А ещё раньше можно было и тип параметров не указывать, он тоже считался int по умолчанию.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр