2014-09-30 5 views
-9

Я не уверен, как эта программа будет вести себя? Я побежал этот код, но я не могу понять, какие-либо рассуждения позади, как он работаетОсновная функция в C

int main() 
{ 
    return main(); 
} 
+0

Что вы ожидали от вас? Вы пытались добавить сообщения журнала для отладки, что происходит вместо этого? –

+0

, если вы знаете, что * вызывает функцию *, и что делает 'return', то у вас есть то, что вам нужно знать, чтобы объяснить эту программу. Если вы этого не сделаете, проверьте книгу C –

+4

Плохо - это краткий ответ. Чтобы вернуть значение, он должен вызывать 'main()', который должен возвращать значение, поэтому он вызывает 'main()', ... до тех пор, пока он не разбился. –

ответ

2

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

Смежные вопросы