首页 > 解决方案 > C:使用指针计算数组总和的函数

问题描述

目的是将 *a 的总和返回到 *sum 但我对指针不是很好,我相信某处应该有 &

int sumArray (int * a, int len , int * sum ){
    if (a==NULL || sum==NULL ) return -1;
      int i;
      for (i=0;i<len;i++){
          sum[i]+=a[i];
      }
      return 0;
}

标签: carrayspointers

解决方案


根据我从您的评论中了解到的情况,参数 sum 不是数组,而是存储总和的变量。由于 sum 是一个指针,要将值存储到其中,您必须以这种方式访问​​它的值: (*sum)

int sumArray (int * a, int len , int * sum ){
    if (a==NULL || sum==NULL ) return -1;
      int i;
      (*sum) = 0 ;
      for (i=0;i<len;i++){
         (*sum) += a[i];
      }
      return 0;
}

推荐阅读