Had he worked harder, he the exams.
A. must have got through
B. would have got through
C. would get through
D. could get through
答案B.
但我覺得,從句意和語法來講,任何一個選擇都可以。不了解我的理解對嗎?
麻煩老師剖析一下,謝謝!
Had he done sth = If he had done sth. 這是虛擬語氣,表示與過去事實相反的假設,主句需要用虛擬語氣,即主句需要含有情態動詞過去形式would, could, should, might之一。由此可以排除must.
假如主句表示的是過去,則情態動詞后的不定式用完成體have done。假如主句表示的是目前或以后,情態動詞后的不定式用一般體do。
假如考試已經進行過了,他沒通過考試,則主句表示的是與過去事實相反的推斷,謂語要用would/could/might have done形式。
假如考試還沒進行,則主句表示與以后事實相反的推斷(即說話人覺得他不可能通過考試)。則主句謂語用would/could/might do形式。
因為本句沒上下文,不知考試是不是已經進行,所以通過考試可能是過去的事,也會是以后的事,所以,B、C、D都可能是正確的。
但這可能是中學習英語考試,考的是從句用had done, 主句用would have done. 是在套公式。所以給出了參考答案B。
你覺得四個答案都正確,說明你的虛擬語氣沒學好,must是不對的。
C、D可能是正確的,但首要條件是考試的時間是以后,從句時間為過去,這是錯綜時間虛擬條件句。假如你認識到這一點,你就是正確的。假如你沒認識到這一點,你還是不對的。