Check out factorial explanation for those who are confused. This is an explanation from someone else that I liked and makes sense.

You cannot reason that x^0 = 1 by thinking of the meaning of powers as

"repeated multiplications" because you cannot multiply x zero times.

Similarly, you cannot reason out 0! just in terms of the meaning of

factorial because you cannot multiply all the numbers from zero down

to 1 to get 1.

Mathematicians *define* x^0 = 1 in order to make the laws of exponents

work even when the exponents can no longer be thought of as repeated

multiplication. For example, (x^3)(x^5) = x^8 because you can add

exponents. In the same way (x^0)(x^2) should be equal to x^2 by

adding exponents. But that means that x^0 must be 1 because when you

multiply x^2 by it, the result is still x^2. Only x^0 = 1 makes sense

here.

In the same way, when thinking about combinations we can derive a

formula for "the number of ways of choosing k things from a collection

of n things." The formula to count out such problems is n!/k!(n-k)!.

For example, the number of handshakes that occur when everybody in a

group of 5 people shakes hands can be computed using n = 5 (five

people) and k = 2 (2 people per handshake) in this formula. (So the

answer is 5!/(2! 3!) = 10).

Now suppose that there are 2 people and "everybody shakes hands with

everybody else." Obviously there is only one handshake. But what

happens if we put n = 2 (2 people) and k = 2 (2 people per handshake)

in the formula? We get 2! / (2! 0!). This is 2/(2 x), where x is the

value of 0!. The fraction reduces to 1/x, which must equal 1 since

there is only 1 handshake. The only value of 0! that makes sense here

is 0! = 1.

And so we define 0! = 1.