如果我告诉它返回任何其他内容,我通常会收到编译器的警告。
答案 0 :(得分:9)
这是为任何调用程序的人提供的退出代码。非零值通常表示错误。
答案 1 :(得分:5)
简短回答:因为这就是C标准所说的:
1程序启动时调用的函数名为
main
。实施宣布否 这个功能的原型。 应使用int
的返回类型进行定义,但不能 参数:
int main(void) { /* ... */ }
或者有两个参数(这里称为argc
和argv
,但可能有任何名称 使用,因为它们是声明它们的函数的本地):
int main(int argc, char *argv[]) { /* ... */ }
或等效的; 9)或以其他一些实现定义的方式。 (强调我的)
答案 2 :(得分:1)
C标准要求它,因为没有机制与环境通信,除了整数值之外,你将返回其他东西。因此,int
是唯一可能的类型;它涵盖了所有平台以及他们希望流程返回到它们的预期数值范围。