程序员都知道main的
返回值是int类型,返回不同的值代表不同的意思,例如返回0代表程序正确结束,返回1代表程序异常结束。但是我们大部分时候都用不到这个返回值,有时候干脆省略返回值
编译器也不会报错。
main函数似乎只是一个入口,那为什么不定义成void类型的呢?因为C的早期版本只有四种内嵌基本
数据类型:char,int,float,double,没有void。但是有些函数不需要返回类型,如典型的main函数,而编译器却要求一个返回类型。所以当函数的定义中没有定义返回类型时,编译器隐式的返回了int类型。因此早期的main函数本意是要返回void类型,但是技术上返回int,尽管你可以不写返回值,但也可以返回一个int类型的值。虽然C的标准中加入了void类型,但是因为历史遗留问题,main的返回值人还是int,甚至有时显示的定义它为int,也可以空着默认他为int,还可以定义为void,当然这和具体的平台和编译器相关。
每个C程序必须有一个名字为main()的函数,系统将从这个函数开始执行。由main()返回的int值,如果有的话,就是这个程序返回给“系统”的值。如果没有值被返回,系统将得到一个表示程序成功完成的值。来自main()的非0值表示出错。