问题
选择题
We _____ John’s name on the race list yesterday but for his recent injury.
A.will put
B.will have put
C.would put
D.would have put
答案
答案:D
考查虚拟语气。But for表示含蓄条件。根据yesterday可知是与过去事实相反的虚拟语气,那么使用情态动词+have done.故D正确。