This is an interesting question. I'll work through it for those that would like to see the entire problem worked out.
x^a * x^b can be simplified into x^(a + b)
So now we have x^(a + b) = 1
Given that x is not 1 or -1, the only way for x^(a + b) to equal 1 is if (a + b) = 0. Because any non-zero number raised to 0 equals 1
Now, here's where it gets interesting...
First let's talk about the properties of 0. 0 raised to any non-zero number is 0. But what is 0 raised to 0? Well, there's dispute among mathematicians on this. Some will argue 0^0 = 0 and others will argue 0^0 = 1. Because of this ambiguity the GMAT does not test the concept of 0^0.
So back to our question. We know that x^(a + b) = 1.
Let's say you belong to the group that says 0^0 = 0. If this is the case, then you know that x cannot be 0. Because if x were 0, then no matter what (a + b) equals, it would be impossible to get 1, but the question clearly states that x^(a + b) = 1. So x could not be 0 and this would not need to be specified in the question.
Let's say you belong to the group that says 0^0 = 1. If this is the case, then you know that (a + b) = 0. Because for you, any number raised to 0 = 1.
So in either case, C (0) is still the correct answer. But, while I can't be sure, I don't think the GMAT would have a question such as this because of the ambiguity around 0^0.
We actually have a free video lesson available on exponents. Just jump ahead at 2:42 in the video to see the properties of base 0.
https://gmat.magoosh.com/lessons/216-intro-to-exponentsI hope that helps!