Author Topic: int main () и void main ()  (Read 865 times)

0 Members and 1 Guest are viewing this topic.

Offline Rachtyrgin

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

Offline jvarg

  • Posts: 15250
  • Gender: Male
Reply #26 on: September 19, 2020, 20:34
Quote
Сергей, по стандарту функция main должна быть объявлена с типом int. Какой смысл писать void?

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

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

Offline Rachtyrgin

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

Offline kemerover

  • Posts: 2026
  • Gender: Male
Reply #28 on: September 20, 2020, 03:59
Так стандартов несколько.
Стандарт только один, но со временем он изменяется.

Quote from: 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

Offline jvarg

  • Posts: 15250
  • Gender: Male
Reply #29 on: September 20, 2020, 04:55
Quote from: C++
"С" и "С++" это разные языки.
Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

Offline kemerover

  • Posts: 2026
  • Gender: Male
Reply #30 on: September 20, 2020, 05:58
Так тема изначально про C++ вроде. Но это не важно, в C то же самое со времён стандартизации.

Offline jvarg

  • Posts: 15250
  • Gender: Male
Reply #31 on: September 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");
}
Все боятся быть обвинёнными в ксенофобии. А вот в русофобии никто.
(© Захар Прилепин)

Offline Python

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

Offline kemerover

  • Posts: 2026
  • Gender: Male
Reply #33 on: September 20, 2020, 19:17
А ещё раньше можно было и тип параметров не указывать, он тоже считался int по умолчанию.

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Note: this post will not display until it's been approved by a moderator.
Name: Email:
Verification:
√49 Напишите ответ строчными буквами:
«Сто одёжек, все без застёжек» — что это?: