把函數聲明為 void 並不僅僅關掉了警告信息:它可能導致與調用者(對於 main(), 就是 C 運行期初始代碼) 期待的不同的函數調用/返回順序。
注意, 這裡討論的 main() 是相對於 ``宿體" 的實現; 它們不適用於 ``自立" 的實現, 因為它們可能連 main() 都沒有。但是,自立的實現相對比較少, 如果你在使用這樣的系統, 你也許已經知道了。 如果你從沒聽說過 它們之間的不同, 你可能正在使用 ``宿體" 的實現, 那我們的討論就適用。
參考資料: [ISO, 5.1.2.2.1, Sec. G.5.1]; [H&S, Sec. 20.1 p. 416]; [CT&P, Sec. 3.10 pp. 50-51]。
翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)