我想知道C语言返回类型函数,如果没有返回值,程序中没有return,那么函数有默认返回值吗?是多少?

如题所述

如果函数有返回值,函数名前面一定相关的数据类型,不返回任何数据时,则需在函数名前冠以void关键字。如果什么都没有(不推荐),则系统默认返回int类型。
在函数中,对于有返回值的函数,关键字后面必有与函数名前相同类型的数据(默认转换也可以),如果不加返回的变量或常量,会编译错误。追问

我之后做了调试,很负责人的告诉你哦,和编译器有关系,我再VC6.0上面尝试就是报错,但是在一个单片机编译器上面没有报错,且返回类型给默认成0了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
没有默认返回值,如果函数定义时有返回类型,而函数体中没有return,会报错追问

很负责的告诉你,不会报错,和编译器有关系,我尝试了下,我这个编译器给我默认返回数据就是0

追答

你自己选择的那个人的回答也是需要返回值的呀,这只能说明你的编译器不够标准,标准的程序应该适用于所有的编译器平台,而不是仅仅在一个编译器上有用。

追问

有意思啊?我选择的那个是说需要返回值,但是他更加给我提出了如果不需要怎么办的方法,我既然这么问,就说明有时候不需要,但那位哥们能想到;
编译器不是我家的,我自己不会写,即使再不标准你也写不出来;
我的最终理解是,返回值函数是需要加返回值的,但是并不是哪个编译器都会报错;
你还抱着你的那个死理论,抱着吧;
对了,谢谢回答

追答

就算我有我自己的想法,你也没必要讥讽我吧。你怎么能这样对一个帮助你的人呢?

本回答被网友采纳
第2个回答  2014-01-02
如果函数没有返回值没有return,应该会报错
第3个回答  推荐于2017-09-25
无返回值需声明(void),否则在定义函数的时候需说明返回值类型(如 int main()),在有返回值的函数中必然存在return语句,。如果不需要返回值,可用return -1;本回答被提问者采纳
第4个回答  2014-01-02
没有默认返回值
相似回答