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