你選了A,這是不妥的,因為 can 通常不與 be able to 搭配使用。
另外,我倒覺得除了C之外,D也是可以的。你之所以排除 D,也許是因為其中表示時間的副詞 now。
按照一般英語語法書的說明,此句屬錯綜時間虛擬語氣,從句與過去時間相反,主句與現在時間相反,所以從句用過去完成時,主句則用 should / would / might / could + 動詞原形——這條規則在通常情況下,顯然是有效的。但是在實際運用中,由于說話者要表達的意思的背景是相當復雜的,所以例外的情況也是有的。
我們認為,在沒有特定上下文的情況下,C和D都是可能的,只是兩者意思稍有點不同:
If I had studied English last year, I should be able to speak it now. 要是我去年學了英語的話,我現在應該就會說英語了。
If I had studied English last year, I would have been able to speak it now. 要是我去年學了英語的話,我現在應該是已經會說英語了。
其實,像上面第二句這樣的用法在英美詞典和語法書上隨處可見。如:
If he had taken my advice he would have been a rich man now. 如果他聽了我的勸告,他現在就會已經是一個有錢人了。——摘自《牛津實用英語語法》第222節 回復時間:
2013/1/17 11:56:05 |