C语言子函数,什么时候需要return,返回值具体该怎么使用呢
1条回答 默认 最新
- 来自远古的声音 2021-12-31 09:45关注
当你定义函数的时候才要用,有些函数有返回值,也就是调用一个函数之后,该函数返回一个值给你。
如
int
fun(int
a)
这个函数就要用return
,而且return
后面跟的变量或字面常量应该是整形才对,如果是不能自动转换成整形的数据如double型的,系统就会报错,但是如果return一个short型的变量,该变量会被自动转化为int型变量。
总之,return后面跟的变量或者表达式结果的类型要与函数的类型一致。
现在知道为什么
int
main()
最后要
return
0;了吧(其实为什么是0我也不知道,应该有什么含义吧)
函数类型之中,有一个类型叫做空类型,也就是void
如void
fun(int
a)
这个函数里面可以用return
(后面不跟数据),也可以把return语句省略。这时函数调用到最后一个右大括号时结束。
一般用void的话就是没有返回值和不需要返回值的了,如调用一个输出函数,这个函数就没必要返回了,事实上这个函数只管输出就好了,也没有什么值要返回的,另一种是用指针传址的时候,因为你传的是地址,函数根据你的地址直接对数据进行操作了,这是就不需要返回值了。
因为对数据的操作在函数里已经进行了(返回值的作用一般是赋值或者作为参数的赋值的话可以对变量直接操作,也就是用指针操作,也可以把返回值赋值给变量)
另外,return语句还有另一个功能就是结束函数调用,有时候,当某种情况发生的时候(或者说满足一定情况的时候),必须结束程序,如当你申请动态空间失败的时候,由于这是一个严重错误,所以必须强制终止程序,这时就可以用return语句来提前结束运行。
如
int
*p=(int
*)malloc(sizeof(int)*int)
if(p==null)
return;
不过要注意,return函数值是结束当前函数的调用,只有在主函数中return语句才具有结束程序的能力,在调用的函数中,只是结束你调用的函数罢了。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
- ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
- ¥15 Attention is all you need 的代码运行
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
- ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
- ¥30 关于<main>标签页面跳转的问题
- ¥80 部署运行web自动化项目
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加