一.参数传递机制
1.值传递
实参值复制给形参
如果在函数内部修改形参值并不会影响实参的值———单向传递
所谓单向传递就是形参与实参是独立两个值,地址不同,无关联
2.地址传递
实参将地址传递给形参
实参的值会随着形参的改变而改变———双向传输
双向传递就是形参与实参的地址相同,也就意味着二者相关联
二.递归函数
定义:函数自己调用自己
递归函数可以实现斐波那契数列
#include<stdio.h>
//方式1
int num(int n){
if(n==1||n==2){
return 1;
}
return num(n-1)+num(n-2);
}
//方式2
int nums(int n){
int a=1,b=1,temp;
for(int i=1;i<=n;i++){
if(i==1||i==2){
printf("%d\t",a);
}
if(i>=3){
temp=a+b;
printf("%d\t",temp);
a=b;
b=temp;}
}
}
int main(){
int n=10;
int sum=0;
for(int i=1;i<=n;i++){
sum=num(i);
printf("%d\t",sum);}
printf("\n");
int sums=0;
sums=nums(10);
return 0;
}
方式一就是使用递归函数来实现的,相比较方式二简便很多
6266

被折叠的 条评论
为什么被折叠?



