How long ()you () in ShanghaiFor just 2 days .I'll be back next week.A.are;staying B.have;stayed C.did;stay D.do; stay 为什么B不行

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 02:22:31

How long ()you () in ShanghaiFor just 2 days .I'll be back next week.A.are;staying B.have;stayed C.did;stay D.do; stay 为什么B不行
How long ()you () in Shanghai
For just 2 days .I'll be back next week.
A.are;staying B.have;stayed C.did;stay D.do; stay
为什么B不行

How long ()you () in ShanghaiFor just 2 days .I'll be back next week.A.are;staying B.have;stayed C.did;stay D.do; stay 为什么B不行
回答是For just 2 days.那说明问句问的是你在上海呆多久?用be staying在这个语境中理解为即将待多久比较合计 用进行时表示将来的用法 如果选B 那就是问你在上海已经待了多久了?(到目前为止)那回答应该是:Just 2 days.就不要加For For 一般表示目的 是一种未来的状态 所以这边选择are staying较为合适

根据下面的回答可知,被问者现就在上海,所以必须用现在时,不能用完成时。

根据语境判断,
说话者还没去上海,而现在完成时与过去有关,所以排除

for 2 days
B.have;stayed 我一开始也会选这个,
如果不行,可能是: stay 是非延续的动词吧。

这种题目可以不用细究,因为太专业了。而且也没有代表性。

结合句意,被问的人还在上海,所以时态不一样,是Be doing而B选项是完成时,不和句意

A中are staying 是be doing 结构,表示将来时,与答句的will时态一致
而B中have stayed是have done结构,表示完成时。

从语境判断,这里问的不是你在上海待了多久?
问的是你要在上海待多久,这是一种持续性的动作,所以用的进行时
再从回答判断,仅仅待2天,下个星期就回来