Ifhuman beings had been a bit less greedyand cruel, more birds and animals dying out.
A.oughtto avoid B.could have been avoided C.should have avoided D.mighthave avoided
1)此题答案是D. 我实在想不通C为何不能?
选D:假如人类少一点贪婪和残忍,更多的鸟类和动物或许会防止灭绝的。
假如选C:假如人类少一点贪婪和残忍,更多的鸟类和动物本应该会防止灭绝的。
2)假如改成could haveavoided 和would have avoided - 是不是二者也都可以?为何呢?
虚拟语气的主句不是可以用should/would/could/might这4种形式吗?含义有什么不同呢?
请教专家老师详细解答1)和2),很感谢!
虚拟条件句的主句是在假设的基础上的推理,所以默认的情态动词是would。might也用了表示推断,表示可能的结果。should和could在主句中主要用作非推断使用方法,should表示责任、义务、必要性,could表示能力。所以本句用might表示推断意义。假如用could have avoided也可以,但could在此不是推断意义,而是表示能力。