-
定義乙個 int 資料型別的陣列 a,有 7 個元數;
將陣列 a 的位址傳遞給 fun 函式的第乙個引數,並將 3 傳遞給 fun 函式的第二個引數 n
在趣味函式中,首先判斷n是否等於0,如果是,則返回x[0]陣列第乙個元素的值,否則x[0]+fun(x+1,n-1),進入乙個計算週期,每個週期n自減去1,第一次n=3,x[0]=1,第二次n=2, x[0]=2,第二個 n=1,x[0]=3,第二個 n=0,x[0]=4,所以最後 x[0]=x[0]+fun(x+1,n-1)=1+2+3+4=10,並且,澄清一下,傳入值“x+1”是新增到陣列 a[0] 位址的 int 大小的記憶體位址, 也就是a[1]的位址,我也是新手,可能不對。
-
這是乙個迭代。 最初,輸入 a 和 3,這意味著 x=a,指標陣列,n=3
3 不等於 0,所以返回 a[0]+fun(x+1,2); a[0] 是 1,現在 n 是 2
2 也不等於 0
所以 fun(x+1,2) 部分返回 a[0]+fun(x+1,1); a[0] 為 1,現在 n 為 1
1 也不等於 0
所以 fun(x+1,1) 返回 a[0]+fun(x+1,0); a[0] 為 1,現在 n 為 0
滿足 n==0
每個 x+1 的最終輸出為:a[0]+a[1]+a[2]+a[3]=1+2+3+4=10
-
最後一句 printf(“%d”,fun(a,3));
應更改為:printf(“%d”,fun(&a,3));
由於您將 fun 函式定義為 int fun(int*x,int n),並且您之前的引數是指標型別,因此您傳遞給它的引數應該是陣列的位址值,即 &a
你用 a 傳遞的只是陣列 a 的第乙個元素,即 1所以它會出錯。
-
總結。 答案是,。 主迴圈為 3 次,f() 函式分別迴圈 0 次、1 次和 2 次,三次的次數為0+。
12.江嘎潯世界下禪肢程式的輸出是長步b c. d.
親愛的,您好,請稍等,我們在碧山已經看到了您的問題,我們正在趕緊為您整理資料,我們會立即將您的答案傳送給小主人。 感謝您的支援,認可我的服務,記得豎起大拇指<>
答案是,。 主迴圈賣模3次,f()函式迴圈0次,常靜迴圈1次,迴圈2次,累積3次點數慢0+。
你能更詳細一點嗎?
我不明白。 答案是,。 主迴圈賣模3次,f()函式迴圈0次,常靜迴圈1次,迴圈2次,累積3次點數慢0+。
步驟細節,為什麼是一式三份的累積次數?
它代表了乙個次要版本,通常是人為規定的。 某個版本只是一些小小的空話中的改變,如果你改變第乙個數字,那就有點大不了。
解釋原因。
定義 rand max ox7fff 最大值為 0,肢神的最大值是得到乙個浮點數,該浮點數為 10 乘以 [0, rand max],結果為 [, rand max +
-
該過程按如下方式執行:
s=5 n=4
s=9 n=3
s=12 n=2
s=14 攜帶 n=1
s=15 n=0
此時,它跳出迴圈並悄悄地丟失並輸出 n=0
因此,
-
模擬程巨集的孫旭滲透語言的操作過程,如下圖所示;
a=1,a=1×2=2,a=2×3=6,a=6×4=24,a=24×5=120;
混淆焦點為 a = 120
因此,d
在你編寫的程式中,a 和 c 都是浮點型變數,兩個浮點型變數在 a==c 等邏輯運算之後的返回值並不是編譯器可以考慮的布林值。 >>>More