#include <iostream> using namespace std;
//传递指向数组第一个和最后一个元素的下一位置的指针 int sum1(const int *begin, const int *end) { int sum = 0; while (begin != end) { sum += *begin; begin++; } return sum; }
//传递数组大小 int sum2(const int ia[], size_t size) { int sum = 0; for (size_t ix = 0; ix != size; ++ix) { sum += ia[ix]; } return sum; }
//传递指向数组第一个元素的指针和数组大小
int sum3(int *begin, size_t size) { int sum = 0; int *p = begin; while (p != begin + size) { sum += *p; p++; } return sum; } //传递指向数组的第一个元素的指针,以及数组大小,而在使用时,是按照数组形式进行元素提取的。 int sum4(int *buf,size_t size) { int sum = 0; int i; for (i=0; i<size; i++) { sum += buf[i]; } return sum; }
int main() { int ia[] = {1,2,3,4}; cout<< "summation from sum1()"<< sum1(ia,ia+4)<<endl; cout<< "summation from sum2()"<< sum2(ia,4)<<endl; cout<< "summation from sum3()"<< sum3(ia,4)<<endl; cout<< "summation from sum4()"<< sum4(ia,4)<<endl; return 0; }