//函数参数默认值只能从后往前设置,例如: voidfunc(int a=1, int b, int c=3); //错:b和a的位置违规 voidfunc(int a, int b=2, int c=3); //ok //调用时的实参按位置解析,默认实参也只能从后往前逐个替换尾部的“漏缺”,例如 func(12, 12) //ok: c和d默认 func(2, 14, , 3) //错:d不默认则c也无法默认
#include<iostream> using namespace std; voidmain() { int a=1,b=1,c=1; //最初三个年份的初值 int n; cin>>n; for( int i=4,tmp; i<=n; i++) { tmp = a + c; a = b; b = c; c = tmp; } cout<<c; }