哪位英语语法比较好的进来帮我分析一道题谢谢各位了

【www.unjs.com - 外语问答】
哪位语法比较好的进来帮我分析一道题,谢谢各位了! A:You ought to have given them some advice.B:So I have/So I did.斜线前的是我自己选的答案,斜线后面是正确答案,麻烦说一下为什么不能选前面那个案,说的具体点   

参考案 ought的一个用法是, 后接动词不定式的完成式,意思是“本应、本当、早应该”,形式上看来好像是一般完成时,但实际上只是动词不定式的完成式, 而并不是真正的一般完成时,表示的是在过去的某一时间就应该做的事情。所以如果别人对你说:你早就应该给他一些建议,而你又表示说早已给过建议时,你就应该掉ought to ,恢复过去时。
should一词也有这一用法。

其他回   前面那个句子的谓语是ought,是一个过去式形式,而不是你所填的have,所以,这个句子应用did来照应ought,即此。 在语法中,ought to 与should 是同一意义,因此从should就可以看出为何要选did了。另外,在英国英语与美国中,ought to 与should 之间的区别是美国人在否定句与疑问句中多用should,如果美国人在否定句中用了ought to,那要省略to,并且在附加疑句中,美国人也倾向于用should与前面的ought to呼应。
猜你喜欢