c语言的return
Return,return,return,结束,回去,标准,要求,很晕,rnm。
Return0,return1,return(-1),return(X),return(X+Y),return(QWER())退钱。
其实本质上看。
return表示从被调函数中返回到主调函数中,返回的同时可以附带一个返回值,这个返回值可以是常量、变量,也可以是表达式。作用:结束正在运行的函数,并返回函数值。
在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。
哈哈,本质其实并不好看。
所有程序如果分类,无非,有参有返回值,有参无返回值,无参有返回值,无参无返回值,然后这样再去看这些return。
1.无参无返回值,如下。
Void main()
{
int a=0;
int b=1;
c = a+b;
}
这是无参数无返回值的,所以说程序里的return是不需要出现的,因为函数不需要返回值去给机器去判断任何东西,简单来说这个程序机器只负责运行至于结果和它无关,返回值存在的意义就是给机器一个凭据去看一下这个程序运行的到底怎么样。
2.有参无返回值,如下。
void Delay_us(int us)
{
while(us--)
{
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
}
}
这是个us级别的延时函数,我们需要输入us的值,在这us是几,就是几微秒。同样这里也不需要返回值,机器只是执行了这个nop延时,执行完就算完。
3.无参有返回值,如下。
int XXX()
{
int a;
int b;
a=1;
b=2;
if(a>b)
{
return 1;
}
return 0;
}
此时XXX函数就有返回值了,如果我们赋值a是大于b的,那么它的返回值就是1。如果b大于a,那么它的返回值就是0。那么这个0和1我们先抛开各种语言习惯或者俗成定义,它就只是一个0和1,0和1有什么用呢?
0和1可以放在常见的while和if执行中,比如。
if(XXX())
{
a=3;
}
此时的意思就是我们去读取了XXX函数的值那么,如果是1就是去执行if中的流程给a赋值3,如果不是1那么则不执行。
4.有参有返回值,如下。
Int abs(int val)
{
if(val>=0)
return val;
else if(val<0)
return -val;
}
这是一个val值求绝对值的函数,很明显return值有两个。
总之,读程序的时候,return不要拘泥于它是在某种语境俗成情况下要怎么用,无论0,1,-1,还是变量,式子,亦或者是一个函数,终点是看它return的值有何作用,用在何种判断中。
新手,拙见,学习笔记加感悟,欢迎指正。