c语言使用指针对int数组的求和


#include <stdio.h>
int sump(int *, int *);


int main(void)
{
    int array[] = {1, 3, 4, 7, 8};

    printf("total=%d\n", sump(array,array+5));
    return 0;
}

int sump(int * start, int * end)
{
    int total = 0;
    while(start<end)
        total += *start++;
    return total;
}

sump方法说明:

 1 数组名多持有的指针是该数组的首地址

 2 total += *start++;start指针的原型是int数组,每++一次移动一个int字节的长度,也就是取array数组下一个元素

  ++运算符和*具有同等优先级,同等优先级的运算符从右向左,所以是先++然后再*取值,最终移动到数组最后一个元素实现累加求和。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM