Кто нибудь, объясните мне нормально, ясно, на русском, зачем нужен 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";}
Функция должна возвращать что-то к точке входа в процедуру. К примеру, вызываешь функцию Math.sin (x) - и на место вызова функции тебе вернут значение синуса. А тут возвращать нечего. Точка входа в процедуру - начало программы, и никому она ничего не возвращает, потому пишут return 0 - как закончишь, ничего в систему не возвращай. Правила языка обязывают.
то что ты написал программу, это по сути не программа а метод или функция. и он преимущественно всегда требует от тебя вернуть результат работы. для чего тебе метод? чтобы он совершил какое то действие. а раз всё что тебе надо ты сделал в самой подпрограмме, то возвращать тебе ничего не нужно. но структура требует что то вернуть. этакий способ обозначить конец метода. и для этого служит return который возвращает 0 (ничего).
В действительности, return в main можно не писать, т. к. main - это особый случай.
Но число, которое ты пишешь в этом return может быть получено и обработано: cmd-скриптом (Windows), sh-скриптом (Linux), планировщиком заданий, иной программой, которая запустила твою программу...
Так что когда ты пишешь return 0;, ты явно сообщаешь, что программа завершилась без ошибок.
Если же ты в этом return используешь число, отличное от 0, то сообщаешь, что в программе произошла ошибка и данное число является кодом этой ошибки.