根据后半句he is retired 分析,此句的时态是以现在为起点,之前发生了的动作要用一般过去时。had taught 过去完成时是发生在“过去的过去”,所以正确答案为A,
正确答案不是A,而是C根据语意,后一句说难怪我没看到过他,他现在已经退休了,所以用过去完成时,for 40 years是使用完成时态的标示
就是a,现在完成时是要到现在,但是他现在已经没交了所以不能用完成时,可以用taught 是因为teach是延续性动词,本身就可以跟一段时间