C语言中函数必须有返回值吗?没有无法使用对吗?

如题所述

不是必须有返回值。如果没有返回值类型名为"void"。

void函数的定义:

void+函数名()//无类型+函数名

{// 程序代码

}

如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……

类型名有:void int long float int* long* float* ……

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。 

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。 

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

参考资料:

百度百科-函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-25

按标准来说,C的main函数是需要有返回值的。标准中main函数返回类型是int的,所以需要一个返回值。但是由于历史原因,很多地方可以看到没有返回值的main。

比如直接main()或者说void main() 但是这样一般编译器也不会认为错误,不过建议还是写标准的C的main函数,最好有一个返回值,0表示正常退出。

扩展资料:

函数可以有返回值,也可以没有返回值。

(1)没有返回值的函数:功能只是完成一个操作,应将返回值类型定义为void,函数体内可没有return语句。

(2)有返回值的函数:函数的最后会有一个返回值return,可以用来获取该函数执行结果返回给该函数,让外部调用该函数的。

返回值可指定,如果不指定默认返回None。 

函数的返回值类型是在定义函数时指定的。return 语句中表达式的类型应与定义函数时指定的返回值类型一致。如果不一致,则以函数定义时的返回值类型为准,对 return 语句中表达式的类型自动进行转换,然后再将它返回给主调函数使用。

在调用函数时,如果需要从被调函数返回一个值供主调函数使用,那么返回值类型必须定义成非 void 型。此时被调函数中必须包含 return 语句,而且 return 后面必须要有返回值,否则就是语法错误。

一个函数中可以有多个 return 语句,但并不是所有的 return 语句都起作用。执行到哪个 return 语句,就是哪个 return 语句起作用,该 return 语句后的其他语句都不会执行。

参考资料:百度百科——返回值

本回答被网友采纳
第2个回答  2014-06-17
不一定要有返回值,void函数不许需要有返回值,但函数依然可以调用追问

书上写的void返回值是空类型

第3个回答  推荐于2017-09-04
在写函数时,
我们一般用 类型+函数名 来定义函数,void类型是空返回值,也就是没有返回值。
其他的,如int、double等类型函数,需要返回相应类型的返回值。追问

看一下第一句话,我本来也是你这样认为的,看了这个就糊涂了,这是我们得课本

追答

你这样的精神很好啊

如果要细究的话,我认为是这样的,先上图一张以示清白

里面有一句话,该函数不执行任何操作也不返回任何值。但是如果你用codeblocks编译的话,你会发现如果用return 0 的话,程序正常运行时是显示“PROCESS RETURN 0 (0X0)”的。如果你用void main 不返回的话,就return的是一个不确定的数(不能说是随机数),那么这就和 “定义一个变量后不给它赋值”,然后打印它看结果出来的是一个不确定的值 是一样的道理。函数确实都要返回一个值,但是很多时候我们返回一个值0都是为了看程序能不能运行到return 0 那句,来看程序的运行正常情况,学习过程中为了方便很多时候都是省略直接void了的。

不知道这样的观点你能否接受

注:这个书是C语言作者写的,可以相信!

本回答被提问者采纳
第4个回答  2019-12-24
是的c语言函数中必须有返回值,不然无法使用
相似回答