【发布时间】:2017-01-14 18:14:25
【问题描述】:
我需要创建一个对我的数组求和的函数,该数组填充了随机值。我的函数只返回 0 而不是数组的实际总和。我对数组或随机值没有太多经验,如何编写arrSum 函数以在调用时给我数组的总和?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 1000
int arrSum(int arr[SIZE], int b) {
if (b < 0) {
return 0;
} else {
return arr[b] + arrSum(arr, b - 1);
}
}
int main() {
int inputNum;
int i;
int arr1[SIZE];
int sum;
srand(time(0));
printf("Enter an integer between 0 and 1000: ");
scanf("%d", &inputNum);
sum = arrSum(arr1, inputNum);
printf("sum: %6d\n\n", sum );
printf(" Pos | Val\n");
printf("-------------\n");
for (i = 0; i < inputNum; i++) {
printf("%4d |%4d\n", i, rand() % 1001);
}
return 0;
}
【问题讨论】:
-
if (arr < 0)你觉得这有什么作用?当您编译时出现警告,您的编译器会抱怨吗? -
这个编译是否包含所有警告?