2011-11-05 98 views

回答

9

定义的这两种形式都是有效的(无void所述一个是无效原型不完整的(尽管有效)声明)。

表格int main(void) { /* whetever */ }也提供了该功能的原型。
表格int main() { /* whatever */ }不提供原型(并且编译器无法检查它是否被正确调用)。

the Standard (PDF)

6.7.5.3/14

空列表的函数声明那就是功能SPECI科幻ES的去网络nition的一部分,该函数没有参数。和int main() { /* whatever */ }
声明

差之间定义int main();
原型int main(void);

定义不提供原型;
声明有效,但未指定有关参数数量或类型的信息;
原型没问题并且与定义兼容。