3,If my lawyer _____here last Saturday,he _____me from going.A.had been,would have preventedB.had been,would preventC.were,would preventD.were,would have prevent为什么不选D

问题描述:

3,If my lawyer _____here last Saturday,he _____me from going.
A.had been,would have prevented
B.had been,would prevent
C.were,would prevent
D.were,would have prevent
为什么不选D

这是一个错综时态的虚拟句。前半句是对last Saturday(过去式)的虚拟;后半句是对现在的虚拟。

这考的是虚拟语气的知识点,虚拟语气大致上有三种情况,对将来、现在、过去的虚拟。如果你记不住形式时,可以将时态都往后退一格,比如过去时变成过去的过去,就变成了过去完成时。
现在来分析这个句子,明显它是对过去的虚拟,所以选择A

以后遇见这种题 要认真思考整个语境,千万不要迷信别人的答案。经过认真思考后消化的东西才是自己的。祝好! 选A

是对过去的虚拟,不用一般过去

楼上不要瞎说
条件句里要用'过去完成时'表对过去的虚拟,句子里有last saturday所以要用had been.
如果用were那就对现在的虚拟,这个和last saturday有冲突

选C吧
If my lawyer _were____here last Saturday 这部分是虚拟语气,所以用were,排除AB项
he _would prevent____me from going. 这部分是主句,would have prevent 是本将要做什么事(事实上却没有)的意思
这个句子的意思,如果我的律师星期六在这儿,他将会阻止我离开.
如果选D的话,意思就变成,如果我的律师星期六在这儿,他本将阻止我离开(事实上却没有阻止)
所以选C最符合句意