We_____ the enemy troops before their reinforcement came. A.have wipe out B.had wipe out

这句话的意思是在敌人的援军到来之前我们已经把军队消灭了。 答案是B,我选的是A 之前高中的时候 也现过这样的表示过去完成的却用现在完成时来表示 当时老师给的就是是因为有before所以就用现在完成表示过去完成。 但是老师说的 在这道题上又不适用了 请问 有没有 更好的能解释用现在完成表示过去完成的说法呢。

第1个回答  2019-11-06
这道题应该选B。
答这道题,首先要搞清楚现在完成时和过去完成时的定义。
过去完成时:强调的是过去某一动作或状态发生在另一动作前或过去某个时间,或指在过去某个时间段已经发生的事情,它就是过去的过去。
现在完成时:过去发生并且已经完成的动作对现在造成影响或后果,过去某一时间开始并一直持续到现在并且有可能还会持续的动作或状态。
有定义我们可以看出,判断用哪种时态主要取决于时间点。过去完成时用于过去已经发生的但是持续到过去的某个时间点。而现在完成时,则是指过去发生了,一直持续到现在,那么时间点可以当做是现在。
回到本句中,从句已经设定了一个时间点,也就是援军抵达的时候。援军抵达是已经发生了,是过去的一个时间点。那么主句中只能用过去的过去,那就是过去完成时。
满意的话,记得采纳咯。^_^,
如果不懂,欢迎追问!