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)