|
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 27
|
|
Какая разница между int main и void main?03.10.2015, 00:35. Показов 65654. Ответов 12
Метки нет (Все метки)
0
|
|
| 03.10.2015, 00:35 | |
|
Ответы с готовыми решениями:
12
В чем разница между int main(){} и int main(void){}? Какой новые синтаксис: int main() VS. void main() int main() или int main(void)? |
|
81 / 25 / 19
Регистрация: 27.10.2014
Сообщений: 420
|
||||||
| 03.10.2015, 00:36 | ||||||
|
int main обязан возвращать целочисленное значение, void ничего не возвращает
0
|
||||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
|
||||||
| 03.10.2015, 00:42 | ||||||
|
разница в том что
программа обязана возвращать код завершения системе
0
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||
| 03.10.2015, 00:52 | |||||||||||||
|
а теперь правильный ответ: по стандарту должент быть int main void main - расширение компилятора вижал студии. но такой код не портируем. гсс его уже кушать не будет, например. при этом сама функция main не обязана возвращать значение:
если программист явным образом не напишет возвращаемое значение, программа вернет ноль.
0
|
|||||||||||||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
|
||||
| 03.10.2015, 00:59 | ||||
|
0
|
||||
|
Неэпический
|
|||||
| 03.10.2015, 01:11 | |||||
0
|
|||||
|
1 / 1 / 0
Регистрация: 17.02.2021
Сообщений: 2
|
|
| 17.02.2021, 16:06 | |
|
Чёт много поспорили, а на вопрос так и не ответили.
Что использовать то лучше и в каких ситуациях? Не просто копипаста теории, а на практике.
0
|
|
|
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890
|
|
| 17.02.2021, 16:16 | |
|
Seralet, всегда int main()
1
|
|
|
1 / 1 / 0
Регистрация: 17.02.2021
Сообщений: 2
|
|
| 17.02.2021, 16:16 | |
|
Вот в одном из блогов нашёл (сослаться не знаю на кого т.к. пользователь Anonymous):
Функция main() обязательна для простых консольных приложений, которые мы разрабатываем в Академии в качестве множества примеров и заданий. Однако как оказалось существует существенная разница в ее употреблении. Ее могут записывать по-разному: int main() и void main(). Однако запись приведенная выше не будет корректна без записи return 0 для int main() и exit(0) для void main(). На одном из форумов встретил сообщение, что void mai() не совсем корректная запись, так как сообщает компилятору, что функция main() не возвращает никакого значения. При этом запись int main() сообщает компилятору о возвращении целочисленного значения, которое необходимо операционной системе. Это сообщение объявляет ей о том, что программа завершилась корректно. Если же это значение не возвращено, то операционная система понимает, что программа завершилась в аварийном режиме. Именно поэтому как первая запись, так и вторая требует записи операторов return 0 для int main() или для void main() – записи оператора exit(0). Однако в языке С++ предпочтение при записи функции отдается целочисленному значению, что выглядит вот так: int main() { return 0; }
1
|
|
|
Любитель чаепитий
|
||
| 17.02.2021, 16:17 | ||
void main стандартом не запрещён, но делает программу непереносимой.короче говоря, используйте версию main, которая определена стандартом.то бишь int main.
1
|
||
|
Модератор
|
|||||||||||||||||||||||||||
| 17.02.2021, 17:24 | |||||||||||||||||||||||||||
|
Посмотрите код ASM при компиляции:
1. Для void main(): Оба следующих однакова с возвращаемым значением 0:
2. Для int main(): При компиляции обязательно определить возвращаемое значение функции ! Если оно равно 0, то код ASM тоже так:
Но если оно равно другому x, то код ASM соответственно как
Вывод: они не совсем очень различны ! Все будут всегда получать возвращаемое значение, но int будет нужно определенное значение возвращения, а void будет автоматически возвращать значение (всегда равно 0). Я понял так. По-русски немного знаю, поэтому немного говорю еще ! Добавлено через 5 минут
2
|
|||||||||||||||||||||||||||
|
Неэпический
|
|||||||
| 17.02.2021, 17:42 | |||||||
return 0 в main не обязателен и подразумевается "по-умолчанию".
1
|
|||||||
|
Вездепух
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,221
|
|||
| 17.02.2021, 20:19 | |||
int main НЕ обязан явно возвращать значение.int main. В такой ситуации выбор ясен: всегда и везде int main, разумеется.
1
|
|||
| 17.02.2021, 20:19 | |
|
Помогаю со студенческими работами здесь
13
Почему в одних случаях пишут void main(), а в других случаях int main() {return 1;} От void main() к int main()
Void main or Int main Main.cpp: In function ‘int main()’: main.cpp:10:1: error: ‘then’ was not declared in this scope Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|