如何使用指针在C中打印函数的结果(不返回)

时间:2018-10-22 16:41:34

标签: c pointers return pass-by-pointer

我的任务是编写一个计算数组元素总和的函数。我确实是这样的:

#include <stdio.h>
#include <stdlib.h>

int sum (int array[], int len){
    int i;
    int sum=0;
    for (i=0; i<len; i++){
    sum = sum + array[i];
    }
    return sum;
}


int main() {
    int array[] = {9, 4, 7, 8, 10, 5, 1, 6, 3, 2};
    int len = 10;
    printf ("Sum: %d\n" , sum(array, len)); 
}

输出:Sum: 55

但是,现在我需要做完全相同的事情,但是要有所不同。 Sum函数应包含3个参数,第三个参数是Pointer,不返回任何值,并且仍然可以在main函数中调用它以再次打印出总和。 任何帮助将不胜感激。

P.S。是的,这是家庭作业的一部分。

1 个答案:

答案 0 :(得分:5)

指针将指向将接收和的整数变量:

void sum (int array[], int len, int *result)

您从main调用它以提供指向结果的指针。我不再给剩下的就是你的功课。