如果我告诉编译器返回任何其他内容,我通常会收到编译器的警告。
问问题
113 次
3 回答
9
这是提供给调用程序的人的退出代码。非零值通常表示错误。
于 2012-11-11T18:59:00.973 回答
5
简短的回答:因为这就是 C 标准所说的:
5.1.2.2.1 程序启动
1 程序启动时调用的函数名为
main
。实现没有声明这个函数的原型。它应该被定义为返回类型int
和不带参数:
int main(void) { /* ... */ }
或有两个参数(这里称为argc
和argv
,尽管可以使用任何名称,因为它们对于声明它们的函数是局部的):
int main(int argc, char *argv[]) { /* ... */ }
或等效的;9)或以其他一些实现定义的方式。(强调我的)
于 2012-11-11T19:03:28.777 回答
1
C 标准要求它,因为没有机制可以与环境通信,您将返回除整数值之外的其他内容。因此,int
是唯一可能的类型;它涵盖了所有平台以及他们期望进程返回给他们的预期数字范围。
于 2012-11-11T19:07:28.903 回答