C语言中return怎么用,主函数中一定要用吗?
2 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
return,顾名思义,从函数调用执行中返回,可以分两种情况:
1)void
2)非void
对于void,在函数的最后一行代码,可以不用;其他地方,因为你要返回函数调用,所以必须要用。
对于非void,既然函数返回值类型定义为非void,那么肯定需要使用这个函数的返回值。比如返回值是函数运行结果,或者表明函数运行结果是成功还是失败。这种情况,即使是函数最后一行,也需要使用。
对于有些情况,没有return,编译器也不会报错,比如main函数 (编译器会默认返回值为0,假设你的main函数返回值是int)。但是为了保持良好的习惯,还是建议使用。比如你写的程序编译后需要在脚本中调用,我们可以通过检查你的程序的结束代码来判断你的程序的执行情况,成功或是失败。这时候的检查就依赖于你是否在main函数中正确使用了return。
ABOUTYOU
TA贡献1812条经验 获得超5个赞
在C语言中,return语句的作用是返回函数的值,如下代码:
123456789101112 | #include<stdio.h> int f( int a) //定义函数f() { return a*2; //返回值a*2 } int main() //定义main()的类型为int { int a; scanf ( "%d" ,&a); printf ( "%d\n" ,f(a)); //调用函数f(),并输出函数的返回值 return 0; } |
在上述程序中的fun()函数中,利用return语句返回值a*2的值,在main()主函数中,因为定义其类型为int(整型),所以返回值0,以检测是否运行正常。
当然,在C语言中,如果定义函数的类型为void(无类型),则无需运用return语句,main()主函数也一样,如下代码:
1234567891011 | #include<stdio.h> void f( int a) //定义函数f() { printf ( "%d\n" ,a*2); //输出a*2的值 } void main() //定义main()的类型为void { int a; scanf ( "%d" ,&a); f(a); //调用函数f() } |
两个程序的作用相同,都是输出所输入数据的两倍,区别在于函数的类型。
- 2 回答
- 0 关注
- 1563 浏览
添加回答
举报
0/150
提交
取消