Task

Pass a function     as an argument     to another function.



Related task

   First-class functions


integer
average(integer p, integer q)
{
    return (p + q) / 2;
}
 
 
void
out(integer p, integer q, integer (*f) (integer, integer))
{
    o_integer(f(p, q));
    o_byte('\n');
}
 
 
integer
main(void)
{
    # display the minimum, the maximum and the average of 117 and 319
    out(117, 319, min);
    out(117, 319, max);
    out(117, 319, average);
 
    return 0;
}