C 语言 int main() 和 int main(void) 的区别?
int main(void) 指的是此函数的参数为空,不能传入参数,如果你传入参数,就会出错。
int main() 表示可以传入参数。
// 这样是正确的 int main() { if (0) main(42); } // 这样会出错 int main(void) { if (0) main(42); }
在 C++ 中 int main() 和 int main(void) 是等效的,但在 C 中让括号空着代表编译器对是否接受参数保持沉默。在 C 语言中 main() 省略返回类型也就相当说明返回类型为 int 型,不过这种用法在 C++ 中逐渐被淘汰。虽然 void main()在很多系统都适用,但他毕竟不是标准的,所以应该避免这种用法, 应该使用这种 int main(void) 的写法比较妥当。