Recursion is a function that calls itself. All of these functions do that.
You may get some problems with that specific code specifically I am seeing that if num==0 and abc!=0 then there will be no return value for int function(). but yes, it is recursive, even with the static variables in there.
Recursion does not require a function to call itself directly. You can also have indirect recursion, where one function calls another function which eventually calls the original function. e.g.