Если пишете int main(), то где-то в теле функции должна быть строчка (или несколько) :
return <число>;
Т. е. точка выхода.
Можно ее пропустить, конечно, тогда компилятор автоматически добавит return 0; в конец программы.
Это значение передается вызывающему процессу (например, операционной системе) чтобы он "понял", что программа завершена корректно.
Второй вариант:
void main()
по завершении программы ничего не возвращает, что может привести к различным проблемам.
Это можно обойти с помощью функции exit(<число>);
Но тем не менее, запись void main() не соответствует стандарту и считается некорректной, и некоторые компиляторы ее не принимают.
Другие языки программирования и технологии
Чем отличается в c++ int main() от void main()???
Первый вариант может возвращать код ошибки.
Второй вариант не может возвращать код ошибки.
Первый вариант будет компилироваться в любом нормальном компиляторе.
Второй вариант будет редко где компилироваться.
Второй вариант не может возвращать код ошибки.
Первый вариант будет компилироваться в любом нормальном компиляторе.
Второй вариант будет редко где компилироваться.
int возвращает целое число, а void ничего не возвращает
void это функция которая не возвращает значений, а int это целочисленная функция и она возвращает значение то есть return
Второй вариант формально не является правильным и его скомпилирует не каждый компилятор.
void – «пустой» тип переменной. Используется для определения функций.
Не слушайте быдлокодеров. Когда вы пишете Int - вы указываете компьютеру, что вы резервируете место в его памяти, куда функция вернет число в диапазоне от (примерно) минус двух миллиардов до плюс двух миллиардов. Вы часто в жизни с двумя миллиардами что-то считаете? Я вот тоже не часто. Всегда используйте наименьший тип данных, который позволяет использовать задача, тем самым вы рационально используете ресурсы компьютера. А то программисту нужны в программе числа в районе нескольких тысяч, а он в нее эти инты понапихал, и куча памяти просто занята, хотя и не используется.
Когда вы указываете тип возвращаемого значения void, это значит, что вы возвращаете НИЧЕГО. ПУСТОТУ. Вы указываете компьютеру, что ничего в памяти не резервируете. Так же вы в конце main пишете просто return - выйти из функции. Упаси вас бог думать, что функция main по умолчанию что-то там в память записывает, нули всякие, нет, она просто по окончании своей работы дает системе знать, что все, программа завершена. Или передает управление командой строке, если вы работаете в консоли.
Когда вы указываете тип возвращаемого значения void, это значит, что вы возвращаете НИЧЕГО. ПУСТОТУ. Вы указываете компьютеру, что ничего в памяти не резервируете. Так же вы в конце main пишете просто return - выйти из функции. Упаси вас бог думать, что функция main по умолчанию что-то там в память записывает, нули всякие, нет, она просто по окончании своей работы дает системе знать, что все, программа завершена. Или передает управление командой строке, если вы работаете в консоли.
Похожие вопросы
- C++ весь код находится внутри int main(int argc, char* pszArgs[]) { }
- Вопрос C++. #include <iostream> using namespace std; int main() { int h; cout << "Vvedite chislo" <
- (С++) чем отличается такая запись int* const arr от такой int *arr
- (С++) чем отличается такая запись int* const arr от такой int *arr?
- Что значит в С++ следующая строчка: int main ();
- pascal и c++. Как сильно и чем паскаль отличается от C++? Какой компилятор самый удобный для C++?
- Что можете рассказать про оператора C++ int,или ссылочку скиньте, пожалуйста!
- C# - это объектно ориентировочный язык программирования? Чем он отличается от C++? Для каких ОС его лучше использовать?
- Чем язык программирования Delphi отличается от C++ ?
- Как осуществить операцию сложения в с++ без операции присваивания ? int a=5; int b=6; int c=a+b; ( без "= ")