All categories
    CIntermediate

    C Functions

    Write functions in C: define and call functions, return values, recursion, and passing arguments by reference with pointers.

    01Define a function

    main.c
    #include <stdio.h>
    
    int add(int a, int b) {
        return a + b;
    }
    
    int main() {
        printf("%d\n", add(3, 4));
        return 0;
    }
    Output
    7

    02Recursion (factorial)

    main.c
    #include <stdio.h>
    
    int factorial(int n) {
        if (n <= 1) return 1;
        return n * factorial(n - 1);
    }
    
    int main() {
        printf("%d\n", factorial(5));
        return 0;
    }
    Output
    120

    03Pass by reference

    main.c
    #include <stdio.h>
    
    void increment(int *x) {
        (*x)++;
    }
    
    int main() {
        int n = 10;
        increment(&n);
        printf("%d\n", n);
        return 0;
    }
    Output
    11

    04Sum with a loop

    main.c
    #include <stdio.h>
    
    int sum_to(int n) {
        int total = 0;
        for (int i = 1; i <= n; i++) total += i;
        return total;
    }
    
    int main() {
        printf("%d\n", sum_to(10));
        return 0;
    }
    Output
    55