C++給函數傳數組參數


在C++中,如果要給一個函數傳入一個數組,一般都是傳入兩個參數一個數組指針和一個數組大小。

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

做個試驗:

#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;
}

 輸出:

數組的平均值是: 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
請按任意鍵繼續. . .

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM