C语言中int main()和float main()返回一个整型的值指什么

那在程序段后面会有return 0;如int main()就返回一个整型的值,返回一个整型的值是什么意思啊?在哪里用到这个值?

程序员都知道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值表示出错。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-06
在main() 前面加int ,或void 其主要作用是判断程序是否结束了。。如此而已。。
第2个回答  2013-09-06
有些C++的编译器(VC++就是典型的)允许程序员使用返回void的main()函数,如果是定义成这样的话,那么就不用return 0;了。不过,这样做不是好习惯,因为ISO标准中的main必须定义为int main(),如果定义为void main()就不是标准C++了,会影响代码的可移植性(别的编译器不一定允许这样做)。

推荐你还是使用标准的定义,不要养成这个坏习惯!
相似回答