【发布时间】:2012-08-28 01:50:42
【问题描述】:
可能重复:
Standard way to define parameter-less function main() in C
我能否在 C 中使用函数main() 的声明定义,如下所示:
int main() {}
是的,我看到标准说只有两个保证支持的版本:
int main(void) {}
和
int main(int argc, char* argv[]) {}
但是空括号呢?我知道它与 C++ 中的含义不同(在 C 中,这意味着该函数的参数的数量和类型是未知的),但是我在 C 中看到了很多带有此 declaration 定义的代码主要的。
那么谁错了?
【问题讨论】:
-
简短的回答是“您可能会侥幸逃脱,因为您的编译器可能处于相当宽松的设置,但同时您可能不应该尝试,因为它有点错误,会损坏可移植性稍差,可能会引发编译器警告,并没有给您带来任何好处。”
标签: c