英语题目,关于虚拟语气。

I have told my friend that if I_______ he was in hot water, i would go and help him out.
A: knew B: had known C:should know D:will know
您认为答案选什么?为什么?
书上的答案是选择A,说因为主句使用:would do something,故从句使用过去时间。

我最初也是选择B,但是转念一想,如果用had done, 主句是不是就应该用would have done了?不得其解,等待与大家继续探讨……

我认为应该选A,首先that引导的是一个宾语从句,而宾语从句中包含了一个条件状语从句,条件状语从句的时态,应根据他的主句,即I would go and help him out.是对于现在的虚拟,因此,状语从句中也是对于现在情况的虚拟,而状语从句中应保持时态的一致性,如果我现在知道他在危险中,我回去救他。我是不会在他遇难之前知道的(不会预知),因此不用过去完成时。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-18
B
had knew 原来就知道
should knew 原来就应该知道
would knew 原来就要去知道
第2个回答  2011-02-18
选B,这题是对过去的虚拟, 这句话的意思是我告诉我的朋友如果我知道他在热水中,我会去救他。
第3个回答  2011-02-18
B
对过去发生事情的假设
第4个回答  2011-02-18
B这种虚拟做法就是往过去再退一步…前面have done .后面就是had done
第5个回答  2011-02-18
B