Antuan Anglere
Гуру
(3948)
11 лет назад
Если пишете int main(), то где-то в теле функции должна быть строчка (или несколько) :
return <число>;
Т. е. точка выхода.
Можно ее пропустить, конечно, тогда компилятор автоматически добавит return 0; в конец программы.
Это значение передается вызывающему процессу (например, операционной системе) чтобы он "понял", что программа завершена корректно.
Второй вариант:
void main()
по завершении программы ничего не возвращает, что может привести к различным проблемам.
Это можно обойти с помощью функции exit(<число>);
Но тем не менее, запись void main() не соответствует стандарту и считается некорректной, и некоторые компиляторы ее не принимают.
andre andre
Мастер
(1183)
11 лет назад
Первый вариант может возвращать код ошибки.
Второй вариант не может возвращать код ошибки.
Первый вариант будет компилироваться в любом нормальном компиляторе.
Второй вариант будет редко где компилироваться.
Стефания Преображенская
Ученик
(166)
7 лет назад
Не слушайте быдлокодеров. Когда вы пишете Int - вы указываете компьютеру, что вы резервируете место в его памяти, куда функция вернет число в диапазоне от (примерно) минус двух миллиардов до плюс двух миллиардов. Вы часто в жизни с двумя миллиардами что-то считаете? Я вот тоже не часто. Всегда используйте наименьший тип данных, который позволяет использовать задача, тем самым вы рационально используете ресурсы компьютера. А то программисту нужны в программе числа в районе нескольких тысяч, а он в нее эти инты понапихал, и куча памяти просто занята, хотя и не используется.
Когда вы указываете тип возвращаемого значения void, это значит, что вы возвращаете НИЧЕГО. ПУСТОТУ. Вы указываете компьютеру, что ничего в памяти не резервируете. Так же вы в конце main пишете просто return - выйти из функции. Упаси вас бог думать, что функция main по умолчанию что-то там в память записывает, нули всякие, нет, она просто по окончании своей работы дает системе знать, что все, программа завершена. Или передает управление командой строке, если вы работаете в консоли.