C 程序 查找数组元素的总和

来源:这里教程网 时间:2026-02-16 13:03:42 作者:

在本教程中,我们将学习以下两种方法来找出数组元素的总和:

1)使用递归

2)使用指针

方法 1:使用递归的数组元素的总和:函数调用自身

该程序调用用户定义的函数sum_array_elements(),函数以递归方式调用自身。这里我们对数组元素进行了硬编码,但是如果你想让用户输入值,你可以使用for循环和scanf函数,就像我在本文的下一节(方法 2:使用指针)中所做的那样。

#include<stdio.h>int main(){   int array[] = {1,2,3,4,5,6,7};   int sum;   sum = sum_array_elements(array,6);   printf("\nSum of array elements is:%d",sum);   return 0;}int sum_array_elements( int arr[], int n ) {   if (n < 0) {     //base case:     return 0;   } else{     //Recursion: calling itself     return arr[n] + sum_array_elements(arr, n-1);    }}

输出:

Sum of array elements is:28

方法 2:使用指针的数组元素的总和

这里我们设置指向数组基址的指针然后我们递增指针并使用*运算符来获取和汇总所有数组元素的值。

#include<stdio.h>int main(){   int array[5];   int i,sum=0;   int *ptr;   printf("\nEnter array elements (5 integer values):");   for(i=0;i<5;i++)      scanf("%d",&array[i]);   /* array is equal to base address    * array = &array[0] */   ptr = array;   for(i=0;i<5;i++)    {      //*ptr refers to the value at address      sum = sum + *ptr;      ptr++;   }   printf("\nThe sum is: %d",sum);}

输出:

Enter array elements (5 integer values): 1 2 3 4 5The sum is: 15

相关推荐