Official answer (option A) is correct.
Number of Gray Codes will always be even. Gray Code is an ordering of codewords.
For eg., in the question, the ordering (000, 100, 101, 111, 110, 010, 011, 001) is a Gray code. 000, 100 and all the other elements of this ordered set are codewords.
For n = 1, we have 2 Gray Codes. {0, 1} and {1, 0}.
For n = 2, we have 8 Gray Codes. {00, 01}, {01, 00}, {00, 10}, {10, 00}, {11, 01}, {01, 11}, {11, 10} and {10, 11}.
Observations :
1. There are $2^{n}$ codewords in every Gray Code of n bits..
2. For a given Gray Code, its reverse will also be a Gray Code.
3. Reverse of a Gray Code will always be distinct from the original Gray Code, as all elements are distinct.
Hence, number of all possible Gray Codes over n bits will always be even. (Don't confuse this with number of codewords in every Gray Code over n bits, although that will also be even and equal to $2^{n}$.)