ʕ • ᴥ • ʔ
づ♡ど
🎉 欢迎点赞支持🎉
大家好啊,继我们上一次讲的函数(1)已经过了两周了,不知道大家掌握的怎么样,由于要期末考试,我断更了两周,希望大家见谅,那么我们接着上一章节来继续说说函数的内容吧。我们这一章节就来看看return语句和数组传参及嵌套调用和链式访问等问题,接下来我们来一起学习本次的内容。
一、return语句
我们在使用函数的过程中,总是使用到return语句,例如
int Add(int a, int b)
{
int c = a + b;
return c;
}
既然return这么重要,那它到底怎么使用呢,我们来了解了解。
1. return后面可以是一个数值,也可以是一个表达式,但是如果return后面是表达式的话要先计算表达式的内容,在返回结果。
2. return后面可以什么都没有,直接写return,这种写法适合函数返回类型是void(无类型返回)的情况
3. return返回的值和函数返回的类型不一致,系统会自动返回的值转换成函数返回的类型。
4. return执行后,函数就彻底返回,后面的代码不执行。
5. 如果函数中出现了if分支,要确保每个分支都有返回的情况,不然程序会报错。
我来一条一条的为大家解释。
首先是第一条,我们可以从上节课的代码就能知道,return可以直接返回数值,也可以返回一个表达式。
int Add(int a, int b)
{
int c = a + b;
return c;
}
int Add(int a, int b)
{
return a + b;
}
表达式是先通过计算出结果后才返回最终的值的,这很好理解,就不多赘述。
其次是第2条也很好理解,函数本身是不需要任何的返回类型的,那return后面肯定什么也不能加的,可能会有人疑问那这个return加在这个函数里面有什么用,当然是有用的这个就可以和第4点结合起来,它可以直接中断函数而不继续运行下面的代码。这就是这个return的作用。
void Print(int n)
{
if (n <= 0)
{
return;
}
for (int i = 1; i <= n; i++)
{
printf("%d ", i);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
Print(n);
return 0;
}
我们可以来看这个代码,这个代码的目的是如果n>0就把1~n的数字打印出来,我们可以来看这个打印的函数Print就可以看到,如果n<=0就return,我们可以来看看这个return后还会不会继续运行函数下面的代码了。