Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/86: Рейтинг темы: голосов - 86, средняя оценка - 4.67
 Аватар для Andrey040601
5 / 5 / 3
Регистрация: 13.07.2014
Сообщений: 129

В чём смысл return в main()?

21.08.2014, 22:41. Показов 18865. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли смысл возвращать значение переменной в main()?
Если да - зачем?
C++
1
2
3
4
5
6
7
8
9
#include<iostream>
using namespace std;
 
int main()
{
 int a;
cin >> a;
return a;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.08.2014, 22:41
Ответы с готовыми решениями:

В чём смысл инструкций return?
Задание написать функцию season которая принимает один аргумент - номер месяца и возваращает название сезона года (зима,лето,осень,весна). ...

Почему в одних случаях пишут void main(), а в других случаях int main() {return 1;}
Препод мне доказывает, что void в main`е писать неправильно, а объяснить не может почему. Кто расскажет?)

В чем разница между return и return false/true
Привет всем. Вот подскажите плиз) return; return false; return true; расскажите пожалуйста об етих операторах.. чем они...

41
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
22.08.2014, 02:21
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от StasyanKO Посмотреть сообщение
о программировании микроконтроллеров, встречал void main()
правильно, возврата то ведь не будет
о чем и речь
Цитата Сообщение от Toshkarik Посмотреть сообщение
There are some exceptions where void main() is allowed, but these are on spe******ed systems only.
А в плюсах запрещено, нет такой лазейки

Добавлено через 50 секунд

Не по теме:

Toshkarik, синхронно пишем:)

3
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
22.08.2014, 02:21
Цитата Сообщение от StasyanKO Посмотреть сообщение
что следует, но не написано, что это обязательно.
Написано, что должна быть ( shall be ).
2
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.08.2014, 02:22
По стандарту С++ нельзя, в С допускается.

Возвращаемое значение программы может быть использовано другими программами для того, чтобы узнать результат работы выполненной.

По стандарту С++ (ещё 98) допускается return 0; опускать, в этом случае компилятор при завершении последней операции из функции main посчитает, что программа отработала корректно и возвратит 0 как сигнал успешного завершения.
1
 Аватар для Alexandr_1982
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 473
Записей в блоге: 4
22.08.2014, 04:27
В ОС UNIX есть трубки (pipes). Return в main передает значение следующей программе, вызываемой по последовательности в трубке. Трубка создаётся средствами shell (командного интерпретатора ОС)
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
22.08.2014, 05:12
Цитата Сообщение от Alexandr_1982 Посмотреть сообщение
В ОС UNIX есть трубки (pipes).
s/трубки/каналы/
Цитата Сообщение от Alexandr_1982 Посмотреть сообщение
Return в main передает значение следующей программе, вызываемой по последовательности в трубке.
А вот с этого момента поподробнее. Канал всего лишь объединяет stdout одного процесса c stdin другого.
Цитата Сообщение от Alexandr_1982 Посмотреть сообщение
Трубка создаётся средствами shell (командного интерпретатора ОС)
Только частный случай (если брать конвейер cmd1 | cmd2 | cmd3). В общем случае - любым процессом с пом. системного вызова pipe.
0
 Аватар для intern
15 / 15 / 8
Регистрация: 30.03.2014
Сообщений: 75
22.08.2014, 06:46
Цитата Сообщение от Etien Посмотреть сообщение
Код возврата main() попадает в систему, по моему в какую-то системную переменную, из которой его можно увидеть другой программой.
Windows - echo %ERRORLEVEL%
*nix - echo $?
0
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
23.08.2014, 10:03
ребята, давайте обратимся к учебнику, смотрим любой раздел любой главы после заголовка "Уроки по программированию на языке Си++", какой там тип возращаемого значения у функции main?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
23.08.2014, 10:14
Справлюсь, предлагаю обращаться не к сомнительным учебникам, а к достоверным книгам (Страуструп) или к стандарту, выдержку из которого уже приводили в теме: https://www.cyberforum.ru/post6539175.html
1
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
23.08.2014, 10:16
Цитата Сообщение от Справлюсь Посмотреть сообщение
ребята, давайте обратимся к учебнику
Учебник - это, конечно, прекрасно Но тут такие холивары иногда (1, 2), бывает, на (почти что) пустом месте начинаются, что хоть как-то спасает цитирование стандарта и книжек создателя C++, да и то не всегда.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
предлагаю обращаться не к сомнительным учебникам, а к проверенным книгам (Страуструп) или к стандарту
Синхронно пишем ))

1
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
23.08.2014, 10:16
Цитата Сообщение от gru74ik Посмотреть сообщение
Учебник - это, конечно, прекрасно
При условии, что учебник современный, качественный и прочее. В том архиве везде void main().
1
23.08.2014, 10:19

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
При условии, что учебник современный, качественный и прочее.
Ну это Липпман (2014) тогда.

0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
23.08.2014, 10:20
Цитата Сообщение от Справлюсь Посмотреть сообщение
ребята, давайте обратимся к учебнику,
Давайте
только в твоем учебнике я не нашел ни выходных данных, ни автора
и первая же листинг что я нашел содержит грубейшую ошибку
C++
1
2
3
4
#include <iostream>
using namespace std;
void main()
{
в плюсах main обязана возвращать значение
так что не учебники, их тоже люди пишут, а стандарт
стандарт это закон
а закон как известно:"dura lex, sed lex" "закон суров, но это - закон"
2
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
23.08.2014, 10:47
Цитата Сообщение от ValeryS Посмотреть сообщение
и первая же листинг что я нашел содержит грубейшую ошибку
почемуже в C++ Expres 2010(извените если неправильно выразился) которым многе сейчас прекрасно пользуются все идеально работало?(надеюсь 2010 это не привет из девяностых)

если это только в Си++11 то я буду вам благодарен (у меня новая винда 8 и Си++ 2010 её не тянут по этому если предупредите конечно буду) но мне тут говорили категорически, типа нигде не использовать.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
23.08.2014, 11:12
Цитата Сообщение от Справлюсь Посмотреть сообщение
(надеюсь 2010 это не привет из девяностых)
оттуда оттуда
исчо с четвертой студии, раньше не застал, да и были ли они, у мелкомягких один компилятор и для Си и для плюсов, посему и язык у них суржик смесь обоих языков
а понадобится перкомпилировать на чистом плюсовом компиляторе и все, приплыли
у них даже scanf нестандартная функция до 2010 предупреждение, потом ошибка

Добавлено через 2 минуты
Цитата Сообщение от Справлюсь Посмотреть сообщение
C++ Expres 2010
Visual Studio, а в ней язык Visual C
1
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
23.08.2014, 12:29
короче понял я тот нещасный обладатель компилятора который воспринимал мой бред и учебника в котором этот бред написан(хотя что тут удивительного мне ж их в одной папке дали)(это не ирония).
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
23.08.2014, 19:35
Цитата Сообщение от ValeryS Посмотреть сообщение
с четвертой студии, раньше не застал, да и были ли они
Были. Лично работал на MSVC 1.5 и MSVC 2.2.

По памяти, стоили примерно на порядок меньше Borland'а и во столько же раз были хуже. IMHO, на что-то пригодным MSVC стал только с пятой версии (когда переманил группу разработчиков из Borland).
1
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2014, 19:57
Цитата Сообщение от ValeryS Посмотреть сообщение
и язык у них суржик смесь обоих языков
а понадобится перкомпилировать на чистом плюсовом компиляторе и все, приплыли
В Visual C++ давно есть опция /Za (Disable Language Extensions).
Щелк - и "неправильный" код не будет компилироваться.
4
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
23.08.2014, 20:39
Цитата Сообщение от gazlan Посмотреть сообщение
на что-то пригодным MSVC стал только с пятой версии
не работал
4.0 у меня была какая то битая, или я не умел еще пользоваться
так что серьезная работа началась с 6.0
Цитата Сообщение от Убежденный Посмотреть сообщение
Щелк - и "неправильный" код не будет компилироваться.
А неправильный это Си или плюсы?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
23.08.2014, 20:51
Цитата Сообщение от ValeryS Посмотреть сообщение
4.0 у меня была какая то битая

Не по теме:

Она у всех была "битая". В 5-ой, наконец, появилось дерево проекта. 6-ка - это "рабочая лошадь".

0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
23.08.2014, 21:59
Цитата Сообщение от ValeryS Посмотреть сообщение
А неправильный это Си или плюсы?
Под неправильным кодом имелось в виду "void main()" в С++, например.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.08.2014, 21:59

`main' must return `int'
Почему возникает такая ошибка? И я правильно программу написал? Она должна считать сумму двух чисел! #include &lt;iostream&gt; ...

Использование return в main
Если возвращаем 0 то это означает что прога норм завершилась, иначе значит были какие то ошибки, это понятно. Но зачем ОС нужны эти...

Чем отличается int main от void main?
Мне нравится int main можно её всегда использовать а про void main забыть?

[Error] '::main' must return 'int'
Можете подсказать как испавить. При компиляции выдает '::main' must return 'int' Вот прога double mid(double x, double y); void...

Return type of 'main' is not `int'
Структура .Список помогите розобратся почкму не работает..)) #include &lt;stdio.h&gt; #include &lt;conio.h&gt; struct student { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru