又来求一个英语问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:45:51
I ____ if he _________me .
A.would have overslept, didn't call
B.would have overslept, hadn't called
C.overslept, hadn't called
D.would oversleep, didn't call

答案是B 同样是虚拟语气为什么不可以用D呢?帮忙~~~各位大哥大姐~~
额 听不大懂

D中would+动词原形是对将来或现在的虚拟,而这题的意思是“要不是他叫我,我可能已经睡过头了”,是对过去的虚拟……所以是B啦…这题一方面是要考你语法知识,另外还要你对题意进行理解。 另外,二楼的说错了:oversleep不是睡着了,是“睡过头”意思。

这是表过去的虚拟语气。
已经发生过了。
所以应该主句用完成,从句用过去完成。

D时态不对啊,不用完成时不能表示是过去发生的事。。
这里要强调我恐怕“已经”睡着了,would不能表示过去的,只能用would have

这句如果翻译成中文就是如果他没叫我,我就会睡迟了,应该是过去发生的动作,如果不用虚拟语气的花也是用过去时,所以用虚拟语气的话当然是选B