第一种是在数组后面加一个结束标志,比如下面加了99999这样的数(加这样的数可能不太好,,)
int sum_arr(const int ia[])
{
int sum=0,index=0;
while(ia[index]!=99999){
sum+=ia[index];
++index;
}
return sum;
}
int main()
{
int a[5]={1,3,6,8,99999};
cout<<sum_arr(a)<<endl;
return 0;
}
第二种方法是借鉴vector容器的做法传入数组的第一个和最后一个元素的指针
int sum_arr(const int* beg, const int* end)
{
int sum=0;
while(beg!=end){
sum+=*beg;
++beg;
}
return sum;
}
int main()
{
size_t arr_size=4;
int a[arr_size]={1,3,6,8};
cout<<sum_arr(a,a+arr_size)<<endl;//C++11对数组引入begin 和end函数sum_arr(begin(a),end(a))
return 0;
}
第三种是把数组长度作为形参传进去
int sum_arr(const int ia[],size_t size)
{
int sum=0;
for(size_t i=0;i!=size;++i){
sum+=ia[i];
}
return sum;
}
int main()
{
int a[4]={1,3,6,8};
cout<&l