#include /* subprogram prototypes - declarations */ int function1(int, float); /* 2 formal parameters of type int, float */ /* an integer value is returned */ float function2(int, float, int); /* 3 formal parameters of type int, float, int */ /* a float value is returned */ int function3(char, char); /* 2 formal parameters of type char, char */ /* an int value is returned */ void function4(char, int); /* 2 formal parameters of type char, int */ /* nothing is returned - procedure */ void function5(void); /* no formal parameters, i.e. void */ /* nothing is returned - procedure */ void function6(int *); /* 1 formal parameter of type address of an int */ /* nothis is returned - procedure */ int main(void) { int num1, num2 = 4; float val1, val2 = 27.8; char let1, let2 = 'a'; num1 = function1(2, 3.4); /* actual parameters are the values 2, 3.4 */ val1 = function2(num1, val2, 3); /* actual parameters are the values of num1, val2, and the value 3 */ num1 = function3(let2, 'c'); /* actual parameters are the value of let2 and the value 'c' */ function4(let2, num1); /* actual parameters are the values of let2 and num1 */ function5(); /* there are no actual parameters */ function6(&num1); /* actual parameter is the address of the variable num1 */ } /* function header - 2 formal parameters named number, value of type int, float respectively. Return type is int. */ int function1(int number, float value) { int num1; num1 = value; /* this truncates the float to an integer */ return (number * num1); } /* function header - 3 formal parameters named number1, value and number2 of type int, float, int. Return type is float. */ float function2(int number1, float value, int number2) { return (3.4 * 4); } /* function header - 2 formal parameters named letter1 and letter2 of type char, char. Return type is int */ int function3(char letter1, char letter2) { return (1); } /* function header - 2 formal parameters named letter and number of type char, int. Return type is void - this functions acts like a procedure */ void function4(char letter, int number) { } /* function header - 0 formal parameters. Return type is void - this functions acts like a procedure */ void function5(void) { } /* function header - 1 formal parameter of type address of an integer. Return type is void - this functions acts like a procedure */ void function6(int *number) { }