关于has been和have been用法的For hundreds of years,ST.Bernard dogs have been saved lives of travellers crossing the dangerous Pass.请问这个句子的意思是“几百年来,圣伯纳德修道院驯养的狗拯救了许多翻越这道险要山口的旅游者的生命.”为什么要用have been?我觉得这是表示过去的事情,应该使用had been啊.这个句子是从新概念第三册第八课摘录下来的,所以句子本身没有错误。

问题描述:

关于has been和have been用法的
For hundreds of years,ST.Bernard dogs have been saved lives of travellers crossing the dangerous Pass.请问这个句子的意思是“几百年来,圣伯纳德修道院驯养的狗拯救了许多翻越这道险要山口的旅游者的生命.”为什么要用have been?我觉得这是表示过去的事情,应该使用had been啊.
这个句子是从新概念第三册第八课摘录下来的,所以句子本身没有错误。

我觉得应该用 have been saving...
或是 have saved
再怎么狗也该是主动拯救呀。。。
完成时本来就是表达过去的,。。。没有具体的那过去的一点当时间点往前推,所以不用过去完成时,现在完成时就可以了

用have, 如果有一个明确的过去的时间点,在这个时间点之前的动作才能用过去完成时 再说了 看下句义,几百年来圣伯纳德修道院驯养的狗几百年来一直在拯救旅游者的生命(现在也是) 没有指明是过去的事情啊 呵呵

这个是现在完成时 过去发生的事对现在的影响 for加一段时间是标志 过去几百年来 也就是一直到现在

几百年来说明这一现象现在有可能发生,所以用have ,至于出现了被动应该是题目有错误