2008年9月2日 星期二

陣列相加

若要計算陣列的總合,可以用以下簡單的function解決:

int sum(int array[], int size) {
    int i;
    int total = 0

    for(i = 0; i < n; i++) 
        total += array[i];

    return total;
}

然而,我們也可以用指標的方式來達到這個效果:

int sum(int *start, int *end) {
    int total = 0;

    // 這邊的end是指向陣列最後元素的下一個
    while(start < end) {
        total += *start;
        start++
        // 也可以用*start++來取代上述兩行
    }

    return total;
}

其中*start++的意思就是*(start++),加上括號可以讓程式碼更清楚明瞭。

0 意見: