Leaf subroutine (leaf function):
|
Example: square( ) is a leaf function
// square( ) is a leaf function
int square(int x)
{
return x * x; // No function calls
// used in the function
}
|
Non-leaf subroutine (leaf function):
|
Example: sumOfSquare( ) is a non-leaf function
int square(int x) { return x * x; } // sumOfSquare( ) is a non-leaf function int sumOfSquare(int x, int y) { return square(x) + square(y); } |