1樓:
原因在這:
你的fun函式定義了一個static的區域性變數sum這個變數在函式執行完之後值是保留的
當執行完
fun(a,5)
之後fun(a,5)=a[0]+...+a[4]=1+2+3+4+5==15;
再執行fun(b,4)
時,此時的sum值就是之前的15
所以fun(b,4)=15+b[0]+...+b[3]=15+6+7+8+9=45;
最後s=fun(a,5)+fun(b,4)==15+45=60
2樓:匿名使用者
sum 是靜態變數,值是不消失的,
兩次相加仍會繼續累計。
fun(a,5): 返回 (1+2+3+4+5)=15 這15仍存在sum中!!
fun(b,4) 返回 (15+6+7+8+9)=45 ,因sum繼續累計的.
兩者一加就是60,
3樓:劍指殘月
s=fun(a,5)+fun(b,4)這一句第一次呼叫fun,sum從0變到15,因為sum是靜態變數,所以在第二次呼叫時sum不是從0開始的,而是從15開始
於是就變成了:s=15+(15+30)=60改成這樣就行了:
#include"iostream.h"
int fun(int x,int n)
main()
,b=,
s=0;
s=fun(a,5)+fun(b,4);
cout< c語言問題,求大神幫助,C語言問題,求大神幫助解決
倫悅宜 float x,y scanf 2f x 小馬道明 你這個題目錯的地方可真多,首先在scanf裡面不能有 3f這樣的格式,因為是鍵盤輸入,不是計算機操作所以很難得到標準格式長度多少,有效是多少,在這裡解釋一下小數點前面是代表長度 超過了長度的話原樣輸出 小數點後面代表是有效位個數 有效位後面...
求幫助!maya問題
就是幾個月前的事兒。有一個小孩兒,他爸爸媽媽晚上都出去了,就他一個人在家。由於那個小孩兒也不信什麼鬼呀神呀的,所以也不害怕。這就是 心裡沒鬼怕什麼?到了晚上十一點多了,他爸爸媽媽還沒回來,他開始有點擔心。結果一給他爸爸媽媽打 筒裡傳出來的,卻是 您的的 是空號,請查詢後再撥 那個小孩兒很害怕,就報了...
情感問題求幫助啊
你心裡有一點激動又或許是疑惑。這個問題嘛,可能是現在又喜歡上你了,也可能只是這樣問你事情,不要想太多了,是你的終究都是你的,別人搶不走,不是你的,再怎麼也留住,也只是徒勞,希望你能快點找到答案,加油!a 她把你當成朋友呢!因為你短時間你還未平復自己的情緒,所以才想不通她這一陣一陣是何意!b 她這樣做...