C++ primer plus (第六版)第七章arrfun4.cpp代码及解释

如有失误之处,还恳请指教!!!

// arrfun4.cpp -- functions with an array range
#include <iostream>
const int ArSize = 8;
//函数原型:返回值int类型,含有两个参数,两个参数均为指针
int sum_arr(const int *begin, const int *end);
int main()
{
    using namespace std;
    int cookies[ArSize] = {1, 2, 4, 8, 16, 32, 64, 128};
    //  some systems require preceding int with static to
    //  enable array initialization
    //该函数具有两个参数,两个参数分别表示数组首元素地址和数组尾元素地址
    int sum = sum_arr(cookies, cookies + ArSize);
    cout << "Total cookies eaten: " << sum << endl;
    //该函数具有两个参数,两个参数分别表示数组首元素的地址,和数组第四个元素的地址
    sum = sum_arr(cookies, cookies + 3); // first 3 elements
    cout << "First three eaters ate " << sum << " cookies.\n";
    //该被调用函数含有两个参数,一个表示数组第5个元素的地址,一个表示数组前9个元素的地址
    sum = sum_arr(cookies + 4, cookies + 8); // last 4 elements
    cout << "Last four eaters ate " << sum << " cookies.\n";
    // cin.get();
    return 0;
}

// return the sum of an integer array
//函数定义:因为该函数以指针作为形式参数,因此被调用函数应当以地址作为实际参数
int sum_arr(const int *begin, const int *end)
{
    const int *pt;
    int total = 0;

    for (pt = begin; pt != end; pt++)
        total = total + *pt;
    return total;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值