2 ought not to have done 和 could not have done 特定情况下的区别

各位老师好,做到一道有关虚拟语气的题目,答案是B,有些疑惑:

Had the government offered the help, we couldn’t have couldn’t have suffered a loss.

A. ought not to have suffered B. couldn’t have suffered C. shouldn’t suffer D. couldn’t suffer

字典上ought to有这样一个解释:used to say what has probably happened or is probably true,例句是If he started out at nine, he ought to be here by now.(《牛津高阶英汉双解词典》)也是应该的一种意思,也有一种推测的含义,那为什么此题不可以选A呢?

请先 登录 后评论

最佳答案 2022-02-17 19:54

ought to do 大约等于should do, 可以表示推测意义,例如词典的例句,该例句也可以用should be here by now. 但你要注意这是真实条件句。虚拟条件句的主句必须用情态动词过去形式wouldcouldmightshould之一。ought to没有过去形式,所以不能用在虚拟条件句的主句中。这是其一。其二,should在虚拟条件句的主句中通常不表示推测意义,而是表示责任、义务。所以即使选项中有shouldn't have suffered, 也还是应该选couldn't have sufferedcould在此表示可能性,本不可能...的。

请先 登录 后评论

其它 0 个回答

  • 3 关注
  • 2 收藏,2370 浏览
  • impressive 提出于 2022-02-09 12:25