2014-09-30 109 views
-9

我不確定此程序的行爲如何? 我跑這個代碼,但我不能給任何推理找出後面的路它的工作原理C中的主要功能

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

你預計會發生什麼?您是否嘗試添加日誌消息來調試發生了什麼? – 2014-09-30 23:14:41

+0

如果你知道*調用函數*是什麼,並且返回值是什麼,那麼你有什麼你需要知道解釋這個程序。如果你不這樣做,檢查C書 – 2014-09-30 23:14:53

+4

糟糕的是簡潔的答案。要返回一個值,它必須調用'main()',它需要返回一個值,所以它調用'main()',...直到它崩潰。 – 2014-09-30 23:15:00

回答

2

的main()是函數本身。線返回main()再次調用該函數。所以實際上它應該運行一個無限循環。你不會得到任何輸出(你說你跑了,它沒有崩潰嗎?)。 在現實中,它會像放在你身後的另一面鏡子一樣盯着鏡子。你只會看到無盡的思考。 。 :)