/* Here is the function declaration (aka header
* or prototype) of `function2` */
void function2 (int a, int b);
/* Here are the function definitions */
void function1 (int c, int d)
{
if (c < d)
function2 (c, d);
}
void function2 (int a, int b)
{
if (a > b)
function1 (a, b);
}