Tail-Rekursion in C

Ich habe versucht, eine Rekursionsfunktion zu schreiben, um Fakultät einer Zahl zu finden.

    int factorial(int input,int *answer)
    {
       if ( input ==0 )        
       {                       
        return 0;
       }

       *answer  = *answer * input;
       factorial(input -1, answer);
    }

Was sagen Sie zu dieser Funktion? Ist es Schwanz rekursiv?