27.--- You shouldn’t have played such a joke on him.

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:09:46
27.--- You shouldn’t have played such a joke on him.
--- Sorry. I that he would get so angry.
A.didn’t expect B.don’t expect
C.hadn’t expected D.hasn’t expected

答案A,为什么不能选C?
开玩笑是过去,没有想到是过去的过去,不理解……

我那时(过去开玩笑时)没想到他会生气。说的没想到是过去没想到,所以用过去完成时。(现在已知道他生气)

had done是过去完成时。用在这里是不合适的。

should have done只用于谈论过去情况,主要有两个用法:

用于推测过去已经发生的情况。如:
The letter should have arrived by now. 信现在该到了。

用于指本该发生而实际上未发生的情况。如:
You should have told me so before. 你早就应该告诉我。

这个是固定搭配,不是完成时.所以提问的时候是用过去时 didn't

had done是过去完成时