我想将数组传递给函数。 在调试模式下进行调查时,我检测到只有主要部分中数组的第一个元素被传递给函数。 我不知道为什么这是通过整个数组或纠正什么。 在主要移动时,功能代码工作正常。
double avg(int arr[]) {
int ArrayLength = sizeof(arr) / sizeof(arr[0]);
int sum = 0;
double average = 0;
cout << ArrayLength << endl;
for (int i = 0; i < ArrayLength; i++) {
sum += arr[i];
}
return double(sum)/ArrayLength ;
};
int main()
{
int Arr[] = { 2,4,6,8,10,12,20 };
cout << "Average value is: " << avg(Arr) << endl;
return 0;
}
答案 0 :(得分:0)
您没有声明数组的大小,因此sizeof返回单个元素的大小。但是,所有数据都将存储在内存中,但超出了规模。
传递长度(正常),或修改声明中的大小