程式小問題~~ |
尚未結案
|
syao
初階會員 發表:66 回覆:63 積分:25 註冊:2005-02-02 發送簡訊給我 |
#include發表人 - taishyang 於 2005/02/23 10:43:09 |
blk5743
高階會員 發表:34 回覆:371 積分:236 註冊:2003-11-17 發送簡訊給我 |
|
syao
初階會員 發表:66 回覆:63 積分:25 註冊:2005-02-02 發送簡訊給我 |
|
arisaka_matsuri
高階會員 發表:25 回覆:205 積分:231 註冊:2003-10-19 發送簡訊給我 |
dear syao: 你的問題似乎是在問傳入 sort() 中 size 的問題。其實沒那麼複雜,如果你注意到
sort(list,--size); for(dex=0;dex<size;dex ) // <<---- 你這裡用了 size printf("%d\n",list[dex]);如此一來,傳入--size與size-1的效果就很清楚了。雖然這兩種寫法對傳入sort()的效果相同,但是在之後for迴圈時執行的次數就不相同了。因為--size同時也改變了main()中的size的值,但是size-1卻只是將結果傳入sort()中,對main()中的size沒有影響。 假設size在傳入sort()前是6(相當輸入了5個非零數),若用size-1傳入sort(),則for迴圈會跑6次,連帶的就會輸出你不想要的0。你可以追蹤一下,就知道啦~ 另外,遞迴函數跟一般函數的傳值方式一樣,傳的東西當然看你的設計了。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |