Recursion and how it works on the stack

Blender Recursion GIF By Adampizurny — http://gph.is/2iOSPvH

What is recursion?

What is the object or what is it used for?

float _pow_recursion(float x, float y)
{
if (y == 0)
return (1);
if (y < 0)
return (_pow_recursion(x, y + 1) / x);
return (_pow_recursion(x, y - 1) * x);
}
int main (void)
{
float x;

x = _pow_recursion (2, 3);
return (EXIT_SUCCESS);
}
int main (void)
{
float x;

x = _pow_recursion (3.5, 3.8);
return (EXIT_SUCCESS);
}

Will it ever get to 0?

Why did this happened?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store