虚拟语气的理解

If human beings had been a  bit less greedy and cruel, more birds and animals  (   ) dying out.

A.ought to avoid B.could have been avoided  C.should have avoided  D.might have avoided

1)此题答案是D. 我实在想不通C为什么不可以?

D:如果人类少一点贪婪和残忍,更多的鸟类和动物可能会避免灭绝的。

如果选C: 如果人类少一点贪婪和残忍,更多的鸟类和动物本应该会避免灭绝的。

2)如果改成could have avoided would have avoided - 是否二者也都可以?为什么呢?

虚拟语气的主句不是可以用should/would/could/might4种形式吗?含义有何不同呢?

请教专家老师详细解答1)和2),非常感谢!

请先 登录 后评论

最佳答案 2022-01-22 14:29

虚拟条件句的主句是在假设的基础上的推理,所以默认的情态动词是wouldmight也用了表示推测,表示可能的结果。shouldcould在主句中主要用作非推测用法,should表示责任、义务、必要性,could表示能力。所以本句用might表示推测意义。如果用could have avoided也可以,但could在此不是推测意义,而是表示能力。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 1 收藏,2552 浏览
  • Long2019 提出于 2022-01-14 10:51