为什么C程序返回一个int?

时间:2012-11-11 18:58:06

标签: c

如果我告诉它返回任何其他内容,我通常会收到编译器的警告。

3 个答案:

答案 0 :(得分:9)

这是为任何调用程序的人提供的退出代码。非零值通常表示错误。

答案 1 :(得分:5)

简短回答:因为这就是C标准所说的:

5.1.2.2.1程序启动

  

1程序启动时调用的函数名为main。实施宣布否   这个功能的原型。 应使用int 的返回类型进行定义,但不能   参数:

  int main(void) { /* ... */ }

  或者有两个参数(这里称为argcargv,但可能有任何名称   使用,因为它们是声明它们的函数的本地):

  int main(int argc, char *argv[]) { /* ... */ }

  或等效的; 9)或以其他一些实现定义的方式。 (强调我的)

答案 2 :(得分:1)

C标准要求它,因为没有机制与环境通信,除了整数值之外,你将返回其他东西。因此,int是唯一可能的类型;它涵盖了所有平台以及他们希望流程返回到它们的预期数值范围。