1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>                             // - This is required in any program that uses

//   variadic functions (additional arguments).
void print_many_numbers(int num_of_nums, ...) { // - The ... stands for any number of arguments.
    va_list more_args;                          // - Get a handle to the additional arguments.
    va_start(more_args, num_of_nums);           // - This is required to access them.  Yes, it   is weird.
    for(int i = 0; i < num_of_nums; i++) {      //
        int next_num = va_arg(more_args, int);  // - Get the next additional argument.
        printf("%d\n", next_num);               // - Print it.
    }                                           //
    va_end(more_args);                          // - This is required after you're done.
}                                               //   Yes, this is weird (too).


int main(int argc, char* argv[]) {
    printf("print_many_numbers(4, 768336, 768337, 768338, 768339);\n");
    print_many_numbers(4, 768336, 768337, 768338, 768339); // <<<<<<<<<<<<<<<<

    printf("\n");

    printf("print_many_numbers(2, 768336, 768337);\n");
    print_many_numbers(2, 768336, 768337); // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    return EXIT_SUCCESS;
}

© Copyright 2023 Alexander J. Quinn         This content is protected and may not be shared, uploaded, or distributed.