Why?Tom,your skirt is so dirty!Mum,I ___ my storeroom downstairs.A cleaned B have cleaned C was cleaning D have been cleaning为什么选D不选B呢?

问题描述:

Why?Tom,your skirt is so dirty!
Mum,I ___ my storeroom downstairs.
A cleaned B have cleaned C was cleaning D have been cleaning
为什么选D不选B呢?

D是现在完成进行时态,表示过去一段时间一直在做某个动作。强调的是动作而不是状态。而B是再在完成时,表示刚刚完成的一个动作对现在的影响,这个动作已经结束了,强调的是结果。

have been doing强调刚才“一直”做。have done强调结果和完成,做完了。

have been doing 表示过去一直在做某事
句子的意思是妈妈问tom的衬衫为什么那么脏
他回答说我一直在楼下打扫储藏室
如果选B则要翻译成:我已经打扫完楼下的储藏室了
与上一句不符,所以选D