we plan to reach north pole

We plan to reach the North Pole in mid-July,and by then we -------for six weeks ABCD
We plan to reach the North Pole in mid-July,and by then we -------for six weeks
A are walking B have been walking
C will be walking D will have been walking
为什么是D,不是C?求详解.

第1个回答  2019-01-15
by + 时间点,一般是同完成时态连用,
这儿的by then 是表示的将来时间,因此它要么同将来完成时态连用,要么同将来完成进行时态连用.
且后面有一段时间for six weeks,因此只能选D,不能选C.因为现在进行时不能同一段时间连用的.