Задать вопрос

Пустые круглые скобки у функции main() это нормально?

Правда ли что, размещая круглые скобки пустыми у функции main() вы оставляете точку для входа, через которую программу можно взломать, или это очередная недоказанная паранойя?

Один знакомый учился в Германии, его там учили что оставлять пустые скобки нельзя, и что надо писать:

void main(void) {
}


или

int main(void) {
}
  • Вопрос задан
  • 1016 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
gbg
@gbg
Любые ответы на любые вопросы
Плохо учили. Писать void при отсутствии аргументов - анахронизм, тянущийся с конца 80х.
Ответ написан
Griboks
@Griboks
Программу можно взломать независимо от этого. Вы же не исходники взламываете.
Ответ написан
Комментировать
CityCat4
@CityCat4 Куратор тега C
//COPY01 EXEC PGM=IEBGENER
вы оставляете точку для входа, через которую программу можно взломать

Что за бредятина, простите? Компилятору - ему совершенно параллельно будет написание - ему главное, что аргументов не обьявляется.
Ответ написан
Комментировать
@eanmos
Согласно стандарту языка C функция main имеет всего две возможных формы:

int main(void) { ... }

и

int main(int argc, char *argv[]) { ... }

Остальные возможные формы функции main являются implementation defined (т. е. определяются реализацией.

В языке C++ когда main не принимает никаких аргументов, то выглядит она как

int main() { ... }

т. е. без void внутри скобок.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы