英语语法关于If引导的条件状语从句或虚拟语气Ifiwereonthespotthatday,___________________________.A.Ishouldbeabletopreventthedisasterfromhappening.B.Iwouldhavebeenabletopreventthedisasterfromhappening选择
英语语法关于If引导的条件状语从句或虚拟语气
Ifiwereonthespotthatday,___________________________.
A.Ishouldbeabletopreventthedisasterfromhappening.
B.Iwouldhavebeenabletopreventthedisasterfromhappening
选择那个?标准答案是B.
这里使用的是虚拟语气吗?如果是,那不是应该使用Ifihadbeenonthespotthat
这是我网上找到的解释,担不是非常理解:
7.条件从句与结果主句所表示的时间不一致
(1)当条件从句与结果主句所表示的时间不一致(如一个是过去发生的,一个是现在发生的)时,虚拟语气的形式应作相应的调整。如:
Ifyouwereinbetterhealth,wewouldhaveaskedyoutocome.
如果你身体好一些,我们早就请你来了。
Ifwehadconsultedhimonthequestionyesterday,weshouldknowwhattodonow.
假如昨天我们向他请教了这个问题,现在就知道该怎么办了。
Youwouldbemuchbetternowifyouhadtakenmyadvice.假如你接受了我的意见,你现在就会好得多。
(2)如果条件从句用ifIwere...,结果主句则可用任何时间的虚拟形式。如:
IfIwerenotbusy,Iwouldhavecome.
假如我不忙,我就会去的。(were表过去)