首页 > 留学知识库

问题: 英语高考题1

"Did you see him yesterday?"
"No,but I __"
A.ought to B.should have C.cannot have D.must have

解答:

答案应该选B。

should do sth. = ought to do sth. 应该做某事(该事件还未发生)
should have done sth. = ought to have done sth. 应该做某事但事实上却没做

根据题意,可知:回答者的意思是——我昨天应该见到他,事实上却没见到,所以不能选ought to,而该选should have,这里是一个省略句,省略了done sth.。

附带说明其他选项:
cannot have done 不可能发生了/做某事(该事件发生在过去)
must have done 肯定发生了/做某事(该事件发生在过去)