下列以 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) 50
(B) 51
(C) 55
(D) 59
答案:登入後查看
統計: A(18), B(24), C(48), D(36), E(0) #452856
統計: A(18), B(24), C(48), D(36), E(0) #452856
詳解 (共 3 筆)
#799479
考選部以及各補習班答案都是D,不過補習班老師有強調過C的printf印出順序是由右至左,自己寫這題時信心滿滿寫了A,結果是D,本以為補習班老師教錯,於是自己用Dev-C++編譯一次,結果是50,又想想是不是compiler環境不一樣造成,硬是裝了又肥又大的Virsual Studio(實在沒很想裝),結果還是50!!所以答案錯的機率很大!!
1
0
#753273
為什麼這段程式碼我用Dev-C++編譯出來的結果是A?
0
0