问题
选择题
We ______ John’s name on the race list yesterday but for his injury.
A.will put
B.will have put
C.would put
D.would have put
答案
D
题目分析:考查虚拟语气,本题是与过去事实相反的虚拟语气,这个条件句是通过介词短语but for要不是,如果没有…表现出来的。因为是与过去事实相反,所以使用情态动词(would, could, should, might)+have done的形式,故D项正确。
点评:本题属于虚拟语气中的含蓄条件句,该条件是通过but for要不是…如果没有…体现出来的,与过去相反的虚拟语气使用情态动词(would, could, should, might)+have done的形式