【发布时间】:2022-01-05 09:08:46
【问题描述】:
*我想在 sum_of_elements 函数中复制输入的数组作为参数,然后对数组的所有元素求和,但我得到的输出是 0。
#include <stdio.h>
int i, num, sum;
int sum_of_elements(int arr[]) {
for (i = 0; i < num; i++) {
for (i = 0; sum = 0, i < num; i++) {
sum += arr[i];
}
return sum;
}
}
int main() {
printf("enter number of digits you want to add\n");
scanf("%d", & num);
int arr[num];
for (i = 0; i < num; i++) {
printf("enter number %d\n", i + 1);
scanf("%d", & arr[i]);
}
int total = sum_of_elements(arr);
printf("%d", total);
return 0;
【问题讨论】:
-
因为您在每次迭代后设置
sum = 0。 (另外,外循环也没用) -
除了@CherryDT 的评论之外,最好将
i和sum局部变量传递给sum_of_elements函数并将num作为函数参数传递。不要使用全局变量,直到你明白什么时候这样做才方便。
标签: arrays c function sum arguments