分类：教育/科学-外语学习-英语考试
问题：foralongtime与forhours用法有区别吗?有一题: 
有一题:We have been talking about this topic _____ ?A. for a long time      B. already. yesterday            D. for hours
回答：现在完成时用来表示之前已发生或完成的动作或状态，其结果的确和现在有联系。动作或状态发生在过去　但它的影响现在还存在；
使用的时间状语通常由for或since 引导,for后常跟一个时间段，指某个动作到现在为止已持续了多长时间。如：for three years, for half an hour等。 
通过上面的语法知识，我们看出，for a long time 是一个大概的时间，很广。for hours是一个时间段。
所以我觉得这个题目选D
good luck for you ................