# Issue with the factorial program

Hai Guys,Below is a questions asked in one of the written test:

int factorial(int n)

{

if(n==0) return 1;

return n*factorial(n);

}

They asked that "what are all the problems in this function"?

As we can see the statement leads to the infinite loop so memory issue will come.

The actual function should be:

int factorial(int n)

{

if(n==0) return 1;

return n*factorial(n-1);

}

This will fix the issue and will give the correct result.

The answer was also given similar as below:

Problems in the Program:

1. Method name should be in Camel code: e.g. Factorial

2. The function returns n*Factorial(n) which will make the programs runs forever as it is looping itself.

3. StackOverflow exception will occur when we run the program.

4. The correction should be as below:

int Factorial(int n)

{

if (n == 0)

return 1;

return n*Factorial(n - 1);

}

But they have reviewed it and responded like:

=>For the factorial question, the result is too basic.

What is it mean? Can someone give some other idea that what they could have expected on this?