第20444题
爬楼梯递推算法的C++实现代码中,for循环内的空缺代码应选择哪一项?

小杨正在爬楼梯,需要爬n阶才能到达楼顶。如果每次可以爬1个或2个台阶,下面代码采用递推算法来计算一共有多少种不同的方法可以爬到楼顶,请补全for循环内的空缺代码。

int f(int n) {
  if (n == 1 || n == 2)
   return n;

  int f1 = 1;
  int f2 = 2;
  int res = 0;
  for (int i = 3; i <= n; i++) {
   ________________________________ // 在此处填入代码
  }
  return res;
}
A
res += f1 + f2;
f1 = f2;
f2 = res;
B
res = f1 + f2;
f1 = f2;
f2 = res;
C
res += f1 + f2;
f2 = res;
f1 = f2;
D
res = f1 + f2;
f2 = res;
f1 = f2;