请教一个英语问题(英语高手进)

来源:百度知道 编辑:UC知道 时间:2024/09/21 20:31:39
He told me that Tom( )from home for three years by now.
A.had been away
B. has been away
答案是B。想知道为什么......
对不起大家。我不小心打错了,答案是A,大家能不能再作解释?其实我也是选的B的。

你确定没有看错答案么 我咋认为是选A呢 因为前边有一个told是过去时 而在这种宾语从句中 宾句要比主句的时态在向后措一个 这是一个重点
要不然就是这样:
有明显的时间状语标志 就要用与它相符的事态 例如你这句 还有比如看见 yesterday 就用过去时

因为后面有 by now 啊 是到现在 也就是这句话说的时候为止是三年

所以是现在完成时

因为for three years by now=since three years ago=for three years already

所以要用现在完成时
——————————————————————
这都行……

那就是told的原因,楼下有人说told在这里起干扰作用,可是举的那个例子实际上和楼主的题目没有必然联系。当从句用过去时时,主句仍用现在时的情况只有两种——一是主句陈述的是客观真理(例如楼下给出的例句),二是主句的动作相对与现在还是没有发生的。

回到楼主的问题,我想是因为有了told的限制,所以主句要用过去时

told比较干扰。但是当宾语从句是表达客观真理和规律的句子时,其时态仍旧用一般现在时形式。
eg:She said(that) her father is twenty-eight years older than her.

她说她父亲比她大二十八岁。