1樓:
輸出1 3
這是遞迴了,所以先是fun(3),進入後發現3/2=1,所以又繼續func(3/2),也就是fun(1),進入發現1/2=0,就執行prinft,輸出1,然後fun(1)就返回了;返回出去正好是fun(3)的prinft,輸出3
進入fun(3)
進入fun(1)
輸出1退出fun(1)
輸出3退出fun(3)
2樓:匿名使用者
fun(3); 進入 fun()函式時
x = 3
x/2 ==1 大於0; 於是遞迴呼叫函式,遞迴呼叫前x 的值為3fun(x/2) 即 fun(1); 此時進入fun函式,呼叫fun(1)時 ,1/2 ==0 不大於0 故直接列印x的值,此時x =1
然後 遞迴呼叫fun函式 之前 x的值 3,列印輸出最後結果為:空格1空格3
3樓:銀雯
1 3fun(3)
3/2=1>0轉到fun(1)
1/2=0往下繼續輸出1
然後返回上層,輸出3
4樓:
1 3 這是一個函式遞迴呼叫。
fun(3) 3/2=1 呼叫fun(3/2)---fun(1) 1/2>0不成立,輸出1,返回,再輸出3
c語言問題:以下程式的輸出結果是?
5樓:polaris北斗
陣列a中的值沒有改變,所以a[2]的值還是6,選a
c語言填空題,以下程式的輸出結果是?
6樓:這個名有人取了
第一次進while迴圈num為0,然後自增1變成1,不等於3所以輸出1
第二次num自增1為2,不等於3所以輸出2
第三次num自增1為3,然後就break了,所以輸出為12
7樓:id_塵風
先輸出了1 下一次迴圈輸出2 第三處迴圈退出了
C語言題,以下程式的輸出結果是,c語言題 以下程式的輸出結果是。 include stdio h void main i?
初出茅廬 include stdio.h main printf d n a 結果是31,我說的只是原理,你可以根據上面別人說的過程就會明白的。 經過理論分析i 1時,進入程式,執行語句a 3 即a a 3,a 3,再執行a 5,即a a 5 3 5 8 然後馬上輸出結果a 8,你用單步追蹤法,也可...
C語言初級有以下程式段輸出結果是
for i 1 i 15 j 4 一定是給錯了,應該是for i 1 i 15 i 4 取4個值1,5,9,13 for j 3 j 19 j 4 m 會執行5次m 也就是m 5,j分別取3,7,11,15,19 兩個迴圈是巢狀關係,合計執行為4 5 20。 外層迴圈應該是 for i 1 i 15...
C語言程式為什麼最後的輸出結果是這個
getchar接收的是 字元 putchar輸出的也是字元 它們不會接收和輸出整數!第一次c 2 執行case 0 後面的語句直到遇到break 所以輸出是 6 6 顯示就是66。第二次c 4 執行case 2 後面的語句直到遇到break 所以輸出是 8 顯示就是668。第三次c 7 執行defa...