下列以 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(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
#801102
原本答案為D,修改為A
(共 13 字,隱藏中)
前往觀看
0
1
#753273
為什麼這段程式碼我用Dev-C++編譯出來的結果是A?
0
0

私人筆記 (共 1 筆)

私人筆記#2716817
未解鎖
此題因為外層int g為global v...
(共 79 字,隱藏中)
前往觀看
2
0