1樓:匿名使用者
1全部首先你要知道main函式中的for迴圈會執行3次,即i=0 i=1 i=2 那麼分別對應a=a+f(0) a=a+f(1) a=a+f(2),
for迴圈第一次呼叫a=a+f(0) f(0)的值為1.0,因為迴圈為假,直接返回s, 那麼a=1.000000 這個時候i=1進入下一次迴圈,a=a+f(1) ,此時a=1了,而不是0,這點要注意, f(1)的值為s=s+1=2.
0 此時a=1.0+2.0=3.
0 進入下一次迴圈,此時a的值為3.0的,a=a+f(2) f(2)的值為s=s+1/1=2,這是f函式的第一次迴圈,f函式的第2次迴圈 s=s+1/2 那麼就是2+0.5=2.
5 返會這個值2.5 a=a+s 前面那個值為3.0 f(2)的值為2.
5 那麼最後a=5.500000
2樓:陽陽百寶箱
你先把程式改規範一點,首先函式宣告應該在主函式的前面;
我計算出來就是4.5;
3樓:慕容冰綃
i=0的時候f(i) 返回1.0
i=1的時候f(i) 返回1.0+1.0=2i=2的時候f(i) 返回1.0+1.0+0.5=2.5所以結果是5.5
c語言問題,C語言問題。
考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...
C語言問題,c語言問題?
自我程式設計 列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。 理佑平鄲胭 結果是22 7 7 8 22 你可以將 i i i i是先 1再計算,還有這裡的運算順序是從左到右,所以應該是7 7 i 14 8 22 前兩個相加時,i先加1,加...
c語言問題,C語言問題?
這個問題說難不難,但理解可能有點玄乎而已,但是打個比方來理解就太容易掌握啦!就是說scanf的認定讀取,比如你單純的scanf c ch 那麼實際上已經認定了第乙個字元出現就把它賦予給ch,如果是你的scanf c 前面多了乙個空格,所以就認定了出現第乙個空格後的字元賦予給ch,如果寫成這樣 sca...