struct list { char *item; struct list *next; } /* 這裡是 main 程序 */ main(argc, argv) { ... }
缺少的一個分號使 main() 被定義為返回一個結構。由於中間 的註釋行, 這個聯繫不容易看出來。因為一般上, 返回結構的函數在 實現時, 會加入一個隱含的返回指針, 這個產生的 main() 函數 代碼試圖接受三個參數, 而實際上只有兩個傳入 (這裡, 由 C 的啟動代碼 傳入)。參見問題 10.8 和 16.4。
參考資料: [CT&P, Sec. 2.3 pp. 21-2]。
翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)