C語言函式

2022-11-14 22:56:46 字數 782 閱讀 4338

1樓:匿名使用者

這是函式的遞迴呼叫,類似數列的遞推式,程式的意思是shi(n)=n+shi(n-1)

shi(0)=0

可以把shi(n)看成熟悉的x(n)

所以結果為10+9+……+1+0=55

2樓:師大咯馬

呼叫順序shi(10)->shi(9)->shi(8765421)->shi(0) 10到1的呼叫都還沒return 到0的時候 執行if(c==0) return 0; 返回0給shi(1) 因為shi(0)shi(1)的 return c+shi(c-1);語句呼叫的 所以 shi(c-1)的返回值就是shi(0)return的0 以此類推 shi(2)接收的是shi(1)的返回值 1+0 3就是2+1 4就是3+3 5就是4+6 ......

3樓:匿名使用者

這是遞迴呼叫,最後的輸出是:

10+9+8+7+...+1+0的和

執行過程如下:

執行main

呼叫shi(10)時返回10+shi(9),而shi(9)為9+shi(8),如此直到shi(0),

那麼最終返回的為10+9+8+...+0

4樓:匿名使用者

遞迴呼叫,每一次呼叫shi時,引數c減去1,即shi(10)呼叫shi(9),在呼叫shi(8)....直到呼叫到shi(0),此時返回0,在依次返回!

5樓:匿名使用者

是10+9+8+...+1+0=55

c語言if函式式如何實現的,C語言是函數語言程式設計語言嗎

if語句的一般形式如下 if 表示式 語句1 else語句2 if語句中的 表示式 可以是關係表示式 邏輯表示式,甚至是數值表示式。其中最直觀 最容易理解的是關係表示式。所謂關係表示式就是兩個數值進行比較的式子。例如 if x y printf d x else printf d y 擴充套件資料i...

c語言printf函式

是一個算術運算子 i 相當於i i 1 或 在i前面,說明程式會先把i的值 去1之後在用printf 這個函式輸出.printf d n d n d n d n d n d n i,i,i i i i printf d n 與 d對應的一個整數 d 代表此處將有一個整型來填充,n代表換行 在你的例子...

C語言關於fgets函式,C語言關於fgets函式

可能會溢位。記憶體中給ch分配一個位元組的空間,而你這裡是讀取n 1個位元組,只要n 0就會出現溢位。當然有可能復溢位,一般來制說不會宣告一個字元變數,然後把讀取的一段資料往一個字元變數所在的地址放 那字元變數後面的記憶體不是都被蓋了?正確的用法是malloc一段大小的記憶體,一次讀取的大小不超過這...