首页 > 解决方案 > 使用指针的数组总和

问题描述

#include <stdio.h>


int arrsum(int *, int *);

int main(void){
    int a[]={1,2,3,4,5,6,7,8,9,10};


    printf("\nSum: %d\n", arrsum(a,a+9));
    return 0;
}

int arrsum(int *p, int *q){
    int sum;
    for(;p<=q;++p){
        sum+=*p;
    }
    return sum;
}

我想使用指针打印数组元素的总和,因为我正在学习指针。当我运行这段代码时,我得到 32811 作为输出,这是错误的。请帮忙。

标签: cpointers

解决方案


代替:

int sum;

int sum = 0;

推荐阅读