What I want to do is to get a cumulative sum of previous integers starting from 1, for example: If my input is 4, then the function should work in this way; 1 + (1+2) + (1+2+3) + (1+2+3+4) = 20. And the output needs to be 20. Also, I have to get this done by a function, not in main(); function while using int n as the only variable.
What I've tried is to make a function which adds from 1 to integer N, and use 'for'to make N start from 1, so that it can fully add the whole numbers until it reaches N.
#include <stdio.h>
int sum(int n);
int main() {
    int n, input, sum;
    sum = 0;
    scanf("%d", &n);
    for (n = 0; n <= input; n++) {
        sum += n;
    }
    printf("%d", sum);
    return 0;
}
int sum(int n) {
    int i, n, sum = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i += 1){
        sum += i;
    }   
return n;
}
What I expected when the input is 4 is 20, but the actual output is 10.
 
     
     
    