He should have known the police wouldn't allow it but he didn't.

来源:百度知道 编辑:UC知道 时间:2024/09/27 06:25:34
He should have known the police wouldn't allow it_______.
A. and he did B.but he didn't C. but he couldn't D. but he had
新概念英语第二册中65课的题,看不明白这道题,请高手指点,为什么选择B项呢?请解释原因!如何翻译这句话?谢谢

从should have done和 the police wouldn't allow的时态来看.should have done是对过去某一情形的虚拟.表示他本应该知道......(也就是说他不知道),"他本应该知道的"表示对实际情况虚拟,而实际情况是什么,是"他不知道",实际情况的时态时过去式,刚才也提到了"should have done"是对过去的虚拟,所以在后面谈到过去真实发生的情况时就不再虚拟了.而是用实际的时态,也就是过去时.

should have done.

he should have known(他应该知道)主语和谓语
the police wouldn't allow it(警察不允许这样)是这句话的宾语,是宾语从句
but he didn't(但是他不知道)是与上一句衔接的另一句话
should have known 是对过去的虚拟,所以用did
关于虚拟,有不同时态的区别,你可以具体去看一下语法书

C

should have done 是虚拟语气,表示过去本该做,而实际没做的事情。这实际上是过去时。如:
He should have booked the ticket yesterday.
他昨天本该定票的。
=He didn't book the ticket yesterday.
除了should 还有 would, could,和might等也可表示虚拟语气。
不知道能否帮助到你。

should have known 本应知道,但实际并不知道。所以B