Кто нибудь, объясните мне нормально, ясно, на русском, зачем нужен return 0 в с++?
Например здесь:
//два спортсмена (s1, s2). количество их баллов задается пользователем. тот у кого больше баллов, у того первое место, у кого меньше - второе. либо же ничья.
#include
using namespace std;
int main ()
{
int s1,s2;
cout<<"s1=";
cin>>s1;
cout<<"s2=";
cin>>s2;
if (s1>s2) { cout<< "I m. - s.1"<< endl<<"II m. - s.2"; }
if (s1<s2) { cout<< "I m. - s.2"<< endl<<"II m. - s.1";}
if (s1==s2) { cout<< "I m. - s.1, s.2";}
return 0;
}
Вот какую роль играет этот return 0??
C/C++
Кто нибудь, объясните мне нормально, ясно, на русском, зачем нужен return 0 в с++?
В действительности, return в main можно не писать, т. к. main - это особый случай.
Но число, которое ты пишешь в этом return может быть получено и обработано: cmd-скриптом (Windows), sh-скриптом (Linux), планировщиком заданий, иной программой, которая запустила твою программу...
Так что когда ты пишешь return 0;, ты явно сообщаешь, что программа завершилась без ошибок.
Если же ты в этом return используешь число, отличное от 0, то сообщаешь, что в программе произошла ошибка и данное число является кодом этой ошибки.
Но число, которое ты пишешь в этом return может быть получено и обработано: cmd-скриптом (Windows), sh-скриптом (Linux), планировщиком заданий, иной программой, которая запустила твою программу...
Так что когда ты пишешь return 0;, ты явно сообщаешь, что программа завершилась без ошибок.
Если же ты в этом return используешь число, отличное от 0, то сообщаешь, что в программе произошла ошибка и данное число является кодом этой ошибки.
в bat файле можно анализировать код завершения программы. 0 - успех, не 0 - ошибка. Это он и есть
Функция должна возвращать что-то к точке входа в процедуру. К примеру, вызываешь функцию Math.sin (x) - и на место вызова функции тебе вернут значение синуса. А тут возвращать нечего. Точка входа в процедуру - начало программы, и никому она ничего не возвращает, потому пишут return 0 - как закончишь, ничего в систему не возвращай. Правила языка обязывают.
то что ты написал программу, это по сути не программа а метод или функция. и он преимущественно всегда требует от тебя вернуть результат работы. для чего тебе метод? чтобы он совершил какое то действие. а раз всё что тебе надо ты сделал в самой подпрограмме, то возвращать тебе ничего не нужно. но структура требует что то вернуть. этакий способ обозначить конец метода. и для этого служит return который возвращает 0 (ничего).
Метод или функция должны возвращать какое то значение, это основа ООП
Vitaly Volynkin
Не только ООП, Си процедурный, но всё же тож требует вернуть значение. К тому же существуют функции void...
Вячеслав Мазуров
щас бы сравнивать си низкоуровневый и с++ который многопаттерный, если не ошибаюсь то возвращение значений относится к парадигме инкапсуляции в ооп, а процедурно можно написать 1000 строк кода и вернуть 1 значение
Замени int main на void main. Так можно без return
Тут явно подходит работа Штейнера, а так напиши мне в тг - @annjjjk я поясню!
Похожие вопросы
- Зачем нужно писать int около main(), return 0, void main в c++?
- C++. Для чего нужен return?
- Почему именно return 0;? Почему не return 5, 6, 10 например? Результат программы будет отличаться и как?
- Если getch() просто стоит.Без символа.Без переменной. Ну как return 0; в конце.Зачем тогда,этот getch()?
- Я так и не понял, что означает return и почему надо ставить именно 0, а не любое другое значение. Ещё кое-что о функции.
- Возвращение функции return func(); (Си)
- Помогите понять код : return NOD(y, x%y)
- Учу с++, можете объяснить на пальцах? не понимаю работу условия в теле цикла... if ((i+1)%3 != 0)
- Что означает оператор return ; на языке Си.
- Что такое функция RETURN в C++ простыми словами?