關於c語言的一道題求c高手幫忙解答謝謝啦

2021-05-18 00:32:46 字數 876 閱讀 1225

1樓:踽踽獨行

8這是遞迴呼叫函式!

函式返回值通過指標s返回!

6開始,函式返回值為

f(6,*)=f(5,*)+f(4,*)

f(5,*)=f(4,*)+f(3,*)

f(4,*)=f(3,*)+f(2,*)

f(3,*)=f(2,*)+f(1,*)

f(2,*)=1;這時候返回,不回再繼續

答f(1,*)=1;這時候返回,不再繼續

f(6,*)=5*f(2,*)+3*f(1,*)=5+3=8錯誤之處://應為||

判斷了==1,==2,如果剛開始n是0或負值那麼函式永遠不會返回類似於死迴圈!

2樓:陳宗權

這個程式copy

實際是在計算斐波那契數列:

1,1,2,3,5,8,13,21,……

演算法:第1第2兩項是1,以後每一項是前兩項之和。

fun(int n, int* s)就是計算斐波那契數列第n項的值儲存在地址為s的變數中。

所以fun(6,&x)是計算第6項的值(也就是8)儲存在x中。

而fun(n-1,&f1)是計算第n-1項的值儲存在f1中,fun(n-2,&f2)是計算第n-2項的值儲存在f2中。

3樓:匿名使用者

您好,看c程式。首先看主函式,我們一步步來開:

1,定義整形變數x,,以x的地址為專引數。呼叫函式fun ,我們屬就帶著x來看fun

2,再fun函式內 fun(int n,int *s),,,當我們呼叫的時候,這個時候n=6,s是x的地址。

3,執行fun函式,首先這個if不執行。執行else,即fun(5,&f1)...

就這樣一步步執行。。謝謝!

關於c語言的一道題,關於C語言的一道題

第一個是把整型資料格式輸出為浮點型資料,這個主要還是看float的小數點有效位數,我也不太記得了,6 7位,是哪一個我也不記得了。第二個是把浮點型資料格式輸出為整形,就會把小數點部分省略,記住這裡不是數學上的四捨五入,不管多大的小數部分都會扔掉。輸出是什麼你應該知道的,執行 就ok 第一句自不必多說...

c語言題目,求高手,一道c語言題,求高手解釋下這題!

3.程式設計判斷m是否為素數,已知0和1不是素數。include int isprime int m main 4.輸入一行字元,統計其中的英文字元 數字字元 空格及其它字元的個數 include include define arr size 80 main printf english char...

關於C語言的一道題,請問關於C語言的一道題

include double cube double num int main void double cube double num 輸出結果是 1 3 20 2 3 20 3 20 3 4 3 20因為你用的是值傳遞所以在子函式中是不會改變實參順序的 這個程式的書寫有錯誤,在 void swap...