The correct option is C Veteran
The word 'novice' refers to a person who is new to and inexperienced in a job or a situation.
Option C: 'Veteran' is the complete opposite of the given word. It means a person who has had long experience in a particular field. Hence option C is correct.
The words tyro, inexperienced and greenhorn all mean the same as 'novice'. They do not mean its opposite.
Options A, B and D are thus, incorrect.