People should have taken steps to stop this happening, but they___

来源:百度知道 编辑:UC知道 时间:2024/07/02 04:49:01
a. didn't b. haven't
选A 怎么解释? B怎么排除的

should have taken是虚拟语态,证明了这个stop this happening并没有发生,所以后面要用过去时。
haven't 首先不能和虚拟语态配合,其次,既然是虚拟语态了,所指的动作(take steps)一定是说话之前发生的,这就限定了时态,不可能是现在(完成)时。

人类本可以阻止这一切的发生,但是他们没有做到。

此时的have是实义动词,实义的反义疑问要用did not.我用手机上的,不能很好的给你解释,不好意思!

因为A听起来就比B来的好听,所以每当我遇到疑难选择题时几乎都是选择A,那么既然选择A了我当然就排除B了。谢谢`

飞飞

take是实义动词 而should只是代表虚拟语气必须要用的,而have是已经的have done形式的 又因为是过去完成时(虚拟的)用过去式 所以选A 而如果选B那have就是实义动词了
人们本可以采取一定的措施去阻止这一切的发生,可他们并没这么做!