問題詳情

下列以 C程式語言撰寫之程式執行後產生之輸出為何?#include <stdio.h> int g=0; int fibo(int n) { g++; if (n == 1 || n == 2)  return 1; else  return fibo(n-1)+fibo(n-2); } int main() { printf("%d %d", fibo(5), g); return 0; } 
(A) 50
(B) 51
(C) 55
(D) 59 

參考答案

答案:A
難度:非常困難0.0634921
統計:A(4),B(9),C(30),D(20),E(0)

用户評論

promedia1984】評論

為什麼這段程式碼我用Dev-C++編譯出來的結果是A?

oplk4562】評論

考選部以及各補習班答案都是D,不過補習班老師有強調過C的printf印出順序是由右至左,自己寫這題時信心滿滿寫了A,結果是D,本以為補習班老師教錯,於是自己用Dev-C++編譯一次,結果是50,又想想是不是compiler環境不一樣造成,硬是裝了又肥又大的Virsual Studio(實在沒很想裝),結果還是50!!所以答案錯的機率很大!!

【站僕】摩檸Morning】評論

原本答案為D,修改為A