一道英语题

He ________ Alice for ten years.
A. married to B.has married to C.has married D.has been married to
这个呢。是选D的。 我忘记、是为什么了。 为什么不选、B呢。 为什么要加been,好像有一些词要加BEEN. 但是我忘了。 请高手解说一下。 谢谢

首先要知道 marry 是终止性动词。

英语中动词按是否可以表达延续性可分为延续性动词与终止性动词。终止性动词也称为非延续性动词,瞬间动词或点动词。英语中动词按其动作发生的方式与过程长短可分为延续性动词和终止性动词。终止性动词表示不能延续的动作,这种动作发生后会立即结束。要记住的就是终止性动词不可与表示一段时间的状语连用(如句中的for ten years),这点是各种英语考试反复考的地方。

marry就是终止性动词,你想一下marry这个动作只是一段时间,不可能10年都在进行这个动作吧。

如果想用终止性动词表示一段时间,必须将句中的终止性动词转换为相应的延续性动词才可以,如marry变为has been married,类似还有很多,如has been retired for ten years等等(他退休了10年),也可以理解为一般变为has been + 过去分词形式。实际上变完以后是用那个been表示一段状态,所以就可以加一段时间状语了。

至于为什么不用过去式,因为for ten years是表示一段时间,如果是ten years ago就必须用过式选而A了。

那个to我很奇怪,因为marry既可以当及物也可以当不及物动词,但使用中前者的情况占绝大多,一般都是直接加宾语的。如果marry做不及物动词都是没宾语的情况如 they have no idea to marry.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-08
他已经和她结婚十年了 持续的状态
第2个回答  2010-10-08
加been表示结婚的状态持续
第3个回答  2010-10-08
for ten years.故现在完成时,则须用结构:have/has been done、
而与某人结婚:marry to sb.、
故结合起来选D、