hello! i___you ___in London .how long have you been here?

hello! i___you ___in london .how long have you been here?
A. don't konw; were
B. hadn't known; are
C. haven't known; are
D. didn't know; were

答案选的是D。句尾是here,证明说话的地点就在London。为什么第二个空格要用were??you were in London 意思是指过去你在London,而不是现在在London啊。谁能详细的解释一下吗?

首先here并不是最关键,这个句子要根据语意来判断
how long have you been here?
译为:你已经在伦敦(here)住了多久?
have been 现在完成时是指:从过去的某一段时间到现在,been表延续性
所以要用didn't know; were,译为:我不知道你在伦敦(语境是过去的某段时间一直不知道)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-11
因为前句是 I didn't know,即为过去式,也可以说是过去所了解的情况,因而用were。
这是我的见解,望对你有帮助。祝学习进步。
第2个回答  2012-02-11
我不知道你在伦敦是过去时,因为“不知道”和“在伦敦”都是谈话之前就已经存在的事实,现在我才知道你在伦敦,这之前当然是用过去时的时态了
相似回答