C语言定义一个求数组n个元素的和的函数

1)在主函数中定义一个含有20个元素的一维数组a;
2)给数组元素赋值;
3)定义一个求数组n个元素和的函数;
4)在主函数中调用该函数分别求数组a的a[0]到a[5]的和,以及a[3]到a[8]的和。
函数的定义大致如下:
int sum_arry( int *p, int n )//函数返回所求值的和,p接收求和元素的
//起始地址,n接收需要求和元素的个数
{…………
}

#include<stdio.h>
int sum_arry(int *p,int n)
{
    int i = 0,sum = 0;
    for(i=0;i<n;i++)
    {
        sum += *(p+i);
    }
    return sum;
}
int main(void)
{
    int a[20];
    int i = 0;
    printf("请输入20个数字:\n");
    for(i=0;i<20;i++)
        scanf("%d",&a[i]);
    
    printf("a[0]到a[5]的和为:%d\n",sum_arry(&a[0],6));
    printf("a[3]到a[8]的和为:%d\n",sum_arry(&a[3],6));
    
    
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-31
int sum_arry(int *p,int n)
{
    int sum = 0; 
    for(int i=0;i<n;i++){
        sum += *p;
        p++;
    }
    return sum;
}

 p++意思就是让p指向下一个数据元素。