无论多么复杂的C/C++程序,我们在函数中都能看到这个语句,例如最简单的C程序
#include<stdio.h>
int fun()
{
return 0;
}
int main()
{
fun();
return 0;
}
可以看到代码有两个函数,每个函数最后都有一个return的话,后面还带一个0,这个话是什么意思呢?
简单讲,return是函数的返回值(英文不也是返回的意思嘛),作用是为函数的调用方提供返回信息,函数声明前面是什么类型,就只能返回什么类型。
以fun函数为例,fun函数定义前面是int就表示这个函数返回值是整型类型,因此return后面也必须是整数,不能是其他如字符、浮点数类型,否则就类型不匹配了!
那返回值有什么用呢?主要给调用方用,借此来知道被调用函数的执行情况。比如我们可以约定好,fun函数既然返回整型,那就约定好0表示正常执行,-1表示异常(比如程序崩溃等问题)那还是这个程序,fun函数的返回值在main函数中就可以通过一个整数来接收fun函数的返回值来判断fun函数是否正常结束。
从而决定main函数下一步的动作。
就好比说,main函数是皇上,fun函数是杀手
Main函数调用fun函数去执行刺杀任务,约定好0表示成功完成任务,-1表示没完成。那么main函数就可以通过返回值知道如果是0那么就可以放心舒口气了!如果是-1那说明还没执行成功,那不是应该继续派人去刺杀?下一步应该… …
每个函数的返回值作用都如此,而主函数的返回值则是给系统用的,历史习惯上我们都默认0表示成功!所以普遍写rerturn 0
这就是renturn返回值的作用,大家弄明白了嘛!