---he ought to have been warned of the danger.---_________,but he wouldn't listen to me.A.yes,he ought to B.so he was CD不管了 为什么不能选A

问题描述:

---he ought to have been warned of the danger.
---_________,but he wouldn't listen to me.
A.yes,he ought to B.so he was
CD不管了 为什么不能选A

情态动词+ have done 的表示谈论过去的情况。这里是谈论的过去的情况。在英语中谈论已经发生的状况,如果在不定式 to 的后面出现了 have done 的结构,那么在省略时 to 后面的 have 要保留,否则就不会体现这里谈是是过去的情况。
如本句:————早应该有人警告过他这个危险了。
--------是啊,(是早该这样啊),但是他不愿意听我说呀。
正确的答案是 Yes ,he ought to have.

问题是:他应该已经被警告过危险了.
A的回答是:是的,他应该,但是他不听我的(他不听我的就说明是我警告他的,不能说应该)
B:的确如此,但是他不听我的

翻译成中文
应该警告他有危险。
A,对,应该警告他,但他不听
B,警告过了。但他不听。
A的转则不成立,所以选B.

如果选了A,but后面就不能是he wouldn't listen to me,而是,he had not been warned. 不然不符合上下文。

回答的 后半句意思说 但是他不听我的 就是说明我曾警告过他
从这可以推断 说明他已经被警告过
而B选项就是说 他确实背警告过了
A 的话是说 他应该被警告.

规则:回答ought to提问的问题,要用should代替~~

选A的话,A后面只能是句号,不能再有but he wouldn't listen to me.