Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Чем отличается в c++ int main() от void main()???

Timur Ismailyan Ученик (230), закрыт 11 лет назад
Лучший ответ
Antuan Anglere Гуру (3948) 11 лет назад
Если пишете int main(), то где-то в теле функции должна быть строчка (или несколько) :
return <число>;

Т. е. точка выхода.
Можно ее пропустить, конечно, тогда компилятор автоматически добавит return 0; в конец программы.
Это значение передается вызывающему процессу (например, операционной системе) чтобы он "понял", что программа завершена корректно.

Второй вариант:
void main()

по завершении программы ничего не возвращает, что может привести к различным проблемам.
Это можно обойти с помощью функции exit(<число>);

Но тем не менее, запись void main() не соответствует стандарту и считается некорректной, и некоторые компиляторы ее не принимают.
Остальные ответы
Max Theon Знаток (294) 11 лет назад
Второй вариант формально не является правильным и его скомпилирует не каждый компилятор.
andre andre Мастер (1183) 11 лет назад
Первый вариант может возвращать код ошибки.
Второй вариант не может возвращать код ошибки.
Первый вариант будет компилироваться в любом нормальном компиляторе.
Второй вариант будет редко где компилироваться.

Михайл Михайлович Знаток (371) 8 лет назад
void это функция которая не возвращает значений, а int это целочисленная функция и она возвращает значение то есть return
Стефания Преображенская Ученик (166) 7 лет назад
Не слушайте быдлокодеров. Когда вы пишете Int - вы указываете компьютеру, что вы резервируете место в его памяти, куда функция вернет число в диапазоне от (примерно) минус двух миллиардов до плюс двух миллиардов. Вы часто в жизни с двумя миллиардами что-то считаете? Я вот тоже не часто. Всегда используйте наименьший тип данных, который позволяет использовать задача, тем самым вы рационально используете ресурсы компьютера. А то программисту нужны в программе числа в районе нескольких тысяч, а он в нее эти инты понапихал, и куча памяти просто занята, хотя и не используется.
Когда вы указываете тип возвращаемого значения void, это значит, что вы возвращаете НИЧЕГО. ПУСТОТУ. Вы указываете компьютеру, что ничего в памяти не резервируете. Так же вы в конце main пишете просто return - выйти из функции. Упаси вас бог думать, что функция main по умолчанию что-то там в память записывает, нули всякие, нет, она просто по окончании своей работы дает системе знать, что все, программа завершена. Или передает управление командой строке, если вы работаете в консоли.
Тимофеев Дмитрий Знаток (288) 5 лет назад
void – «пустой» тип переменной. Используется для определения функций.
Ускова Наталья Профи (807) 4 года назад
int возвращает целое число, а void ничего не возвращает
Похожие вопросы