Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 2.21 KB

File metadata and controls

59 lines (43 loc) · 2.21 KB

PROJECT : 0x10. C - Variadic functions

C - Variadic functions

A variadic function in C is a function that can accept a variable number of arguments. This is achieved by using the ellipsis (…) operator in the function declaration to indicate that the function can take a variable number of arguments after the mandatory arguments.

TASKS

File variadic_functions.h is the header file that contains all the function prototypes.

Write a function that returns the sum of all its parameters

  • Prototype: int sum_them_all(const unsigned int n, ...);
  • If n == 0, return 0

Write a function that prints numbers, followed by a new line

  • Prototype: void print_numbers(const char *separator, const unsigned int n, ...);
  • where separator is the string to be printed between numbers
  • and n is the number of integers passed to the function
  • You are allowed to use printf
  • If separator is NULL, don’t print it
  • Print a new line at the end of your function

Write a function that prints strings, followed by a new line

  • Prototype: void print_strings(const char *separator, const unsigned int n, ...);
  • where separator is the string to be printed between the strings
  • and n is the number of strings passed to the function
  • You are allowed to use printf
  • If separator is NULL, don’t print it
  • If one of the string is NULL, print (nil) instead
  • Print a new line at the end of your function

Write a function that prints anything

  • Prototype: void print_all(const char * const format, ...);
  • where format is a list of types of arguments passed to the function c: char i: integer f: float s: char * (if the string is NULL, print (nil) instead any other char should be ignored see example
  • You are not allowed to use for, goto, ternary operator, else, do ... while
  • You can use a maximum of 2 while loops 2 if
  • You can declare a maximum of 9 variables
  • You are allowed to use printf
  • Print a new line at the end of your function