What George said just now suggests that he ( )something that he shouldn't have done .

问题描述:

What George said just now suggests that he ( )something that he shouldn't have done .
A、should do B、would do C、has doneD、haddone
老师说正确答案是C,可我认为是D,很多网友也认为是D,到底谁说的对?

选C应该没有问题,因为suggest用的是一般现在时,如果suggest用的过去时那么应该选D.shouldn't have done本不该做却已经做了,而且发生在他说话之前,他说话已经是过去了,过去的过去,用过去完成时。应该是D追问:是不是与suggests 是现在时态有关呀,suggests引导后面的 宾语从句,所以就用现在完成时态啊回答:不是 said 已经用一般过去时了,而且他做的事情已经在said之前了,是过去完成时。跟suggests 无关 以上是一位网友的回答:他就说是D,你有何看法?我觉得还是应该看suggest而不是said。确实have done这件事发生在said之前,与said相比是过去的过去;但是从语法考虑,have done这个宾语从句的时态如何选择,应该依照整句话的主句时态,即suggest,而不是主语从句里的谓语said,因此仍是现在完成时。另外,现在完成时的时间范围包括了过去完成时,从意思上考虑也讲得通。我是这样理解的。