我正在尝试编写一个计算数组总和的函数,但是当我声明 int size = 0; , 函数运行 0 次因为 i=0 ;我
int arraChec(int arra[]) {
int size = 0;
int sum = 0;
for (int i = 0; i < size; i++) {
sum = sum + arra[i];
}
return sum;
}
int main() {
int arra1[7] = { 2,3,5,7,8,9,1 };
cout << arraChec(arra1) << endl;
system("pause");
}
最佳答案
传入数组大小作为参数:
#include <iostream>
int arraChec(int arra[], int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arra[i];
}
return sum;
}
int main() {
int arra1[7] = { 2, 3, 5, 7, 8, 9, 1 };
std::cout << arraChec(arra1, 7) << std::endl;
}
或者使用std::vector
:
#include <iostream>
#include <vector>
int arraChec(std::vector<int>& arra) {
int sum = 0;
for (int i = 0; i < arra.size(); i++) {
sum += arra[i];
}
return sum;
}
int main() {
std::vector<int> arra1 = { 2, 3, 5, 7, 8, 9, 1 };
std::cout << arraChec(arra1) << std::endl;
}
如果您指的是某些 C 风格的 (sizeof(arra)/sizeof(*arra))
构造,我建议您不要使用它。
关于c++ - 如何将函数的整数大小与数组的实际大小联系起来? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46742805/