问一个英语问题7

来源:百度知道 编辑:UC知道 时间:2024/06/15 23:46:06
his grandma_________for over 3 years
a)has been dead
b)has died
为什么?
a 为什么不对?

选A
因为A是表示状态
而B是表示死的一瞬间
那既然是3年,是一个持续的时间,那么当然是不能选B,不可能死的一个动作也能持续3年吧?是3年还死不了?(开玩笑而已,嘻嘻。。。)

a) has been dead for over 3years.

b) has died 3 years ago.

A
DIE是瞬间动词,不能用完成时态,DEAD表示一种状态

选 A
这是现在完成时的考点,由于句子中有for over 3 years这个时间段,所以谓语形式是一个持续动作,必须要have been dead,类似的有 The movie has been on for 1 hour. 这里就要用 be on, 而不用begin。。。
假如只是为了表示结果,就可以 说 his grandma has died.

a不对吗,我认为正确答案就是a,因为完成时有for ,since 引导表示动作的延续或对现在的影响是需要用延续性动词,而die不是,它是短暂性动词,因为人不能一直死,一直到3年的时间里都在做“死去”这个动作啊,“死”这个动作人死了就结束了。

A表示状态 B表示动作 句子本身想陈述一个事实,而不是一个状态.所以不选A.