⦁ 按值传递⦁ 地址传递⦁ 指针传递---------求斐波那契数列
///*
//自定义函数必须在调用该函数之前声明
//生命是可以不写函数体,但在后面需要将函数体补充完整
//按值传递德行参与调用函数类型一致
//*/
//#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;
}

浙公网安备 33010602011771号