An output parameter lets a function return a status and write a computed value.

Out Parameter

out_parameter.c
#include <stdio.h>

static int divide(int numerator, int denominator, int *result) {
    if (denominator == 0) {
        return 0;
    }
    *result = numerator / denominator;
    return 1;
}

int main(void) {
    int denominator = ;
    int result = 0;
    int ok = divide(20, denominator, &result);

    printf("ok=%d result=%d\n", ok, result);
    return 0;
}
#include <stdio.h>

static int divide(int numerator, int denominator, int *result) {
    if (denominator == 0) {
        return 0;
    }
    *result = numerator / denominator;
    return 1;
}

int main(void) {
    int denominator = ;
    int result = 0;
    int ok = divide(20, denominator, &result);

    printf("ok=%d result=%d\n", ok, result);
    return 0;
}
#include <stdio.h>

static int divide(int numerator, int denominator, int *result) {
    if (denominator == 0) {
        return 0;
    }
    *result = numerator / denominator;
    return 1;
}

int main(void) {
    int denominator = ;
    int result = 0;
    int ok = divide(20, denominator, &result);

    printf("ok=%d result=%d\n", ok, result);
    return 0;
}
status return The function return value can say whether the operation succeeded.
output slot A pointer argument gives the function a place to write the result.