求大蝦一道c語言題

2023-02-05 09:35:19 字數 693 閱讀 9242

1樓:

這個是子函式呼叫本身,叫 遞迴

1) 首先執行fun(3)

2) 因為3/2>0,故執行fun(3/2)3) 而3/2=1.5,系統會自動轉換為整型的,結果為1,即執行fun(1)

4) 1/2=0.5,同3),結果為0,故執行printf("%d",x);,輸出1

5) 回到fun(3)函式中執行printf("%d",x);,輸出3

2樓:溫暮

這是一個遞迴函式的題目。

首先要知道的是3/2=1,也就是兩個int型的常量相除,結果是整數部分。例如4/2=2、5/2=2。

首先主函式呼叫fun(3),開始執行fun()函式。函式內部,if語句後,執行fun(3/2),注意,(此時還不會執行printf語句),那麼fun(3/2)=fun(1),執行fun(1),因為1/2=0,所以fun(1)中的if語句不行。執行printf語句,即輸出1。

至此,fun(3/2)執行完畢。上次沒有執行的printf語句開始執行,輸出3.所以結果是13.

3樓:匿名使用者

如果是5

輸出135

fun(5) 進入 fun(3) 進入 fun(1) "1/2>0走else" printf(1) 跳出 printf(3) 跳出 printf(5) 跳出 printf("\n");

一道c語言題,謝謝,求詳解啊,一道C語言題,謝謝,求詳解啊

我們知道 只要有一個條件是假那麼整個都為假,全部為真才為真。已知c不等於2,4,6所以答案c,d為假。只要一個條件為真那麼整個就為真,全部為假才為假。已知c不等於2,4,6,a答案的三個條件 c 2 c 4 c 6 都不成立,所以a答案為假。b答案若c取值為3那,麼c!5一定為真,因為c只能取一個值...

c語言一道選擇題求詳解,C語言一道選擇題求詳解

x,y定義的是double型的,也就是雙精度的,所以你輸入的時候格式也要是雙精度的,就是 lf了,f對應單精度的float型,用scanf輸入時,裡面變數取地址。b c選項不正確,因為scanf函式的引數要是地址,這樣才能正確賦值給變數,d選項的控制字元格式不對,應為 scanf lf le x,y...

一道C語言程式設計題,一道C語言程式設計題

源 只要150行的程式就能用於 抗震救災 一道c語言程式設計題 15 在vc6下除錯通過。include stdio.h main printf 共有 版 d組解 權 n count 一道c語言程式設計題。5 include int s 100 100 定義陣列,第i行存的是第i個學生的成績 int...