He must have an accident, or he ( ) here then.

A. should have been B. should be C.would be D. were

答案选A 为什么不选B 怎么看出前半句是过去完成时的?谢谢

这是情态动词加完成体的特殊意义
should have done
表示"本应该做某事却未做"

He must have an accident, or he should have been here then.
他一定出事故了, 要不然他当时会在这儿了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-17
这是虚拟语气的对过去的猜测,所以要降一级,为过去完成时追问

我想知道是怎么看出是对过去的猜测的,是从前半句话吗?怎么看出来的?

第2个回答  2013-03-17
你好:为您提供精确解答

翻译为:他肯定是遇到什么事故了,要不然他应该已经在这里了。

明显末尾是采用虚拟的用法,对现在的虚拟,采用should /could /might /would+have done形式。

谢谢,不懂可追问
【烟波】为你解答
相似回答