He has joined the army for ten years.和 He has been in the ar
2个回答

第二个句子是对的

在现在完成时里,一旦句子后面有 for + 一段时间出现 ,就不能使用非延续性动词,比如

He has been dead (取代了瞬间动词 die ) for ten years 他已经去世十年了. 是一个状态,而不是说他死了十年还没死透

I have had (替代buy)this book for three years 这本书我买了三年了 .

同样,不能用buy,因为是指你拥有了这本书已经三年了,而不是买书的动作持续了三年