by the end of month hi will have been living here for ten years.

by the end of month hi will have been living here for ten years。they will have been married for 20 years by then。为什么一个用been living 另一个用been married?延续性动词和动名词,不太懂,请指教,谢谢。

因为第一个用进行时,他是一直在住,住的行为一直都存在也将持续存在;而第二个用完成时,因为结婚是一次性的,结婚的行为只是一次过去的完成行为,不存在一直持续。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-02
1句是“将来完成进行时”格式:主语+shall/will+助动词have+been+动词的现在分词+其他成分(live 动作本身是连续的,详见下面“补充”);

2句是“将来完成时”;格式:shall(第一人称)will(第二人称)+have+过去分词(done)(此句的BEEN是pp,即“done”,而married 此时是 形容词 adj.已婚的;婚姻的,不是“PP”,可视为表语)

补充:
在以下情况下可以用将来完成进行时而不用将来完成时:
1)动作本身就是连续的:
By the end of the month he will have been living/working/studying here for ten years.
到了月底他在这里居住/工作/学习就满十年了。
2) 一种经常进行的动作被表示为连续的动作:By the end of this month he will have been training horses/climbing mountains for twenty years.
到了这个月底他驯马/登山就满 20年了。
但是如果提到所驯马匹或所攀登的山峰的数目,或用任何方式把动作分割为一次又一次的动作,就必须用将来完成时:
By the end of the month he will have trained 600 horses/climbed 50 mountains.
到本月底,他驯服的马就有600匹/攀登的山峰就有50座了。
相似回答