副程式呼叫與遞迴 08

出自 陳富國維基館
前往: 導覽搜尋
下列片段程式執行後,其輸出結果為何?  並會出呼叫圖(此題六分)

void fn(int n, int *m)
{ int a, b;
  if (n>=3)
  { fn(n-1, &a);
    fn(n-2, &b);
    *m = b + 2 * a;
  }
  else if (n == 2)
    *m = 1;
  else if (n == 1)
    *m = 0;
}
 

int main(void)
{ int a=5, b;
   fn(a, &b);
   cout<<b;
  }


解答


Ans: 12

解說:


類似題型


題目

解說:


程式觀念考題
基本程式語言 決策程式語法 迴圈/重複敘述 副程式呼叫與遞迴 物件導向-類別與物件 其他

01 . 02 . 03 . 04 . 05
06 . 07 . 08 . 09 . 10
11 . 12 . 13 . 14 . 15

01 . 02 . 03 . 04 . 05
06 . 07 . 08 . 09 . 10
11 . 12 . 13 . 14 . 15

01 . 02 . 03 . 04 . 05
06 . 07 . 08 . 09 . 10
11 . 12 . 13 . 14 . 15

01 . 02 . 03 . 04 . 05
06 . 07 . 08 . 09 . 10
11 . 12 . 13 . 14 . 15

01 . 02 . 03 . 04 . 05
06 . 07 . 08 . 09 . 10
11 . 12 . 13 . 14 . 15

01 . 02 . 03 . 04 . 05
06 . 07 . 08 . 09 . 10
11 . 12 . 13 . 14 . 15