He had been a doctor for five years by the time he ____from the medical school

问题描述:

He had been a doctor for five years by the time he ____from the medical school
A:will graduate B:will have graduated
C:graduates D:graduated

D by the time 直到……的时候,直到他从医学院校毕业时候,他已经做了5年的医生;要用一般过去式,首先毕业是过去的动作,而且前面的had been过去完成时也验证了后面应该用一般过去,因为它发生在graduated之前.
by the time用法:
1.表示将来的时间.
主句用将来完成时,而从句用一般现在时来表示将来的动作.
如:I will have finishied the work by the time my father comes back.
2.表示过去的时间.
主句用过去完成时,而从句用一般过去时.
如:He had built a lab for himself by the time he was 12 years old.