C语言中什么时候该用return,什么时候不用?

2021-11-04 情感 960阅读
当你定义函数的时候才要用,有些函数有返回值,也就是调用一个函数之后,该函数返回一个值给你。
如intfun(inta)这个函数就要用return,而且return后面跟的变量或字面常量应该是整形才对,如果是不能自动转换成整形的数据如double型的,系统就会报错,但是如果return一个short型的变量,该变量会被自动转化为int型变量。
总之,return后面跟的变量或者表达式结果的类型要与函数的类型一致。
现在知道为什么intmain()最后要return0;了吧(其实为什么是0我也不知道,应该有什么含义吧)
函数类型之中,有一个类型叫做空类型,也就是void
如voidfun(inta)
这个函数里面可以用return(后面不跟数据),也可以把return语句省略。这时函数调用到最后一个右大括号时结束。
一般用void的话就是没有返回值和不需要返回值的了,如调用一个输出函数,这个函数就没必要返回了,事实上这个函数只管输出就好了,也没有什么值要返回的,另一种是用指针传址的时候,因为你传的是地址,函数根据你的地址直接对数据进行操作了,这是就不需要返回值了。
因为对数据的操作在函数里已经进行了(返回值的作用一般是赋值或者作为参数的赋值的话可以对变量直接操作,也就是用指针操作,也可以把返回值赋值给变量)
另外,return语句还有另一个功能就是结束函数调用,有时候,当某种情况发生的时候(或者说满足一定情况的时候),必须结束程序,如当你申请动态空间失败的时候,由于这是一个严重错误,所以必须强制终止程序,这时就可以用return语句来提前结束运行。
如int*p=(int*)malloc(sizeof(int)*int)
if(p==NULL)
return;
不过要注意,return函数值是结束当前函数的调用,只有在主函数中return语句才具有结束程序的能力,在调用的函数中,只是结束你调用的函数罢了。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com