Break the question into its key idea: eating human flesh specifically, not just any meat. This narrows the choice to a word that names this exact practice.
Carnivore is a broad term used for meat-eating animals in general, such as lions or tigers. Herbivorous is the opposite, describing plant-eating animals. Neither word says anything about humans.
The only word among the choices that describes eating human flesh is cannibal, so we do not need to pick none of these.
Therefore, the correct answer is option A, Cannibal.