⦁ 按值传递⦁ 地址传递⦁ 指针传递---------求斐波那契数列

///*
//自定义函数必须在调用该函数之前声明
//生命是可以不写函数体,但在后面需要将函数体补充完整
//按值传递德行参与调用函数类型一致 
//*/
//#include <iostream>
//using namespace std;
//int sum(int a,int b){
//
//	int n=a+b;
//	a+=1;
//	return n; 
//}
//int main(int argc, char** argv) {
//	int x,c=3,d=5;
//	//调用sum函数,并将计算结果赋值给变量x 
//	x=sum(c,d);
//	cout<<"x="<<x<<",c="<<c;
//	return 0;
//}
///*
//哪些参数是地址传递,就在那个变量前加&号
//计算是写的是其变量,不加&号 
//*/ 
//#include <iostream>
//using namespace std;
//int sum(int &a,int b){
//
//	int n=a+b;
//	a+=1;
//	return n; 
//}
//int main(int argc, char** argv) {
//	int x,c=3,d=5;
//	//调用sum函数,调用时不写&号 
//	x=sum(c,d);
//	cout<<"x="<<x<<",c="<<c;
//	return 0;
//}
///*
//要接受相应变量的内存中变量的值,需要利用指针
//在接受内存地址的相应变量位置的变量前加“*”号,
//运算时同样需要带*号,表示指针所指的那个变量参与运算 
//*/ 
//#include <iostream>
//using namespace std;
//int sum(int *a,int b){
//	int n=*a+b;
//	*a+=1;
//	return n; 
//}
//int main(int argc, char** argv) {
//	int x,c=3,d=5;
//	//调用sum函数,要传递c的内存地址,前面加&号 
//	x=sum(&c,d);
//	cout<<"x="<<x<<",c="<<c;
//	return 0;
//}

#include <iostream>
using namespace std;
int sum(int *a){
int b=*a-1;
int c=*a-2;
if(*a<=2){
return 1;
}else{
return sum(&b)+sum(&c);
}
}
int main(int argc, char** argv) {
int n;
cin>>n;
cout<<sum(&n);
return 0;
}

#include <iostream>
using namespace std;
int sum(int &a){
int b=a-1;
int c=a-2;
if(a<=2){
return 1;
}else{
return sum(b)+sum(c);
}
return 0;
}
int main(int argc, char** argv) {
int n;
cin>>n;
cout<<sum(n);
return 0;
}

#include <iostream>
using namespace std;
int sum(int n){
if(n<=2){
return 1;
}else{
return sum(n-1)+sum(n-2);
}

}
int main(int argc, char** argv) {
int n;
cin>>n;
cout<<sum(n);
return 0;
}

  

posted @ 2023-10-29 09:10  陈若麟  阅读(12)  评论(0编辑  收藏  举报