he____here for 20years by the end of next month

问题描述:

he____here for 20years by the end of next month
a.had worked
b.has worked
c.will have worked
d.will work
那个对,关键其他3个为什么错?

C
因为后面有by the end of next month,到下个月底为止,所以应该用将来完成时,就是将来将要完成的动作.
其他的时态都不对啊.