📅  最后修改于: 2023-12-03 15:30:15.359000             🧑  作者: Mango
这是一道关于C语言的编程问题,旨在测试程序员对数组和指针概念的掌握程度。
编写一个函数arrsum
,接收一个整型数组和数组的大小作为参数,返回数组中所有元素的和。
函数原型:int arrsum(int arr[], int size);
解决这道问题,需要用到C语言中的指针和数组的基本概念。
在函数传递数组参数时,实际上是传递了指向数组第一个元素的指针。因此,在函数arrsum
中可以通过传递的数组指针来访问数组元素,并求出它们的总和。
实现的具体步骤如下:
定义一个变量sum
,用于累加数组元素的总和。
使用一个循环遍历整个数组,将每个元素的值累加到sum
中。
返回sum
的值作为函数结果。
int arrsum(int arr[], int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum;
}
可以使用以下测试样例来检验arrsum
函数是否正确实现:
#include <stdio.h>
int arrsum(int arr[], int size);
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
printf("arr1 sum = %d\n", arrsum(arr1, 5));
printf("arr2 sum = %d\n", arrsum(arr2, 10));
return 0;
}
Output:
arr1 sum = 15
arr2 sum = 550
本题考察了程序员的基本能力和对指针、数组的理解能力。希望大家在解决这个问题时,不仅能够考虑实现功能,也要能够写出高效、简洁的代码。