David has been in the army for three years.(现在还在部队里)
David was in the army for three years. (现在不在部队里了)
所以啊,要看句义。
你是不是加了个否定词就不理解了?虽然肯定句和否定句翻译起来差很远,其实是一样的思路。
若是was, 我在那儿呆过三年。(现在不在那儿了)
这是语法书的两个例子David has been in the army for three years.(现在还在部队里)
David was in the army for three years. (现在不在部队里了)
因此我认为C、D都行。
想了一下,我也觉得CD都行
D为什么不行?表现在不在那儿。答案为C而且就是否定。
追答我错了,没细看,是D……
追问答案为C
追答囧(当我晕了)!!!!我懂了,是我已经有三年没去那儿了。was表示瞬间,have/haven't been才是持续状态,for three years是一段时间,所以选C
之前真心错了,抱歉……O///O