C++給函數傳數組參數

在C++中,若是要給一個函數傳入一個數組,通常都是傳入兩個參數一個數組指針和一個數組大小。ios

單獨傳遞一個數組或者指針進去,會致使數組不完整。數組

作個試驗:函數

#include <iostream>

using namespace std;
int getAverage(int arr[]);

int getAverage(int arr[]) {
    int i;
    int len = (sizeof(arr) / sizeof(int));
    int sum = 0;
    int *p = arr;
    for (i = 0; i < len; i++) {
        sum += *p;
        p++;
    }
    return sum / len;
}

int main() {
    int arr[] = {1, 2, 3, 3, 4, 5};
    printf("數組的平均值是: %d \n", getAverage(arr));
    return 0;
}

 輸出:spa

數組的平均值是: 1
請按任意鍵繼續. . .

 

#include <iostream>

using namespace std;
int getAverage(int arr[]);

int getAverage(int arr[], int len) {
    int i;
    int sum = 0;
    int *p = arr;
    for (i = 0; i < len; i++) {
        sum += *p;
        p++;
    }
    return sum / len;
}

int main() {
    int arr[] = {1, 2, 3, 3, 4, 5};
    int len = (sizeof(arr) / sizeof(int));
    
    printf("數組的平均值是: %f \n", getAverage(arr, len));
    return 0;
}

 

輸出:指針

數組的平均值是: 3
請按任意鍵繼續. . .
相關文章
相關標籤/搜索