其实一开始就有nn说了,如果because和后面的主句时态可以不一样,那C better。我同意时态可以不一样,但因果关系总有一个潜在的时间线阿,所谓先因后果,C中continues用的是现在时,predicted用的是过去时,因果时间顺序颠倒。所以我觉得C的这个问题是致命的,倒不是说非要用have been doing的结构。
Experts have been predicting flu vaccine shortage for years
I chose A. have been predicting for weeks.
another example:
Pump up the volume; since its invention, pundits have been predicting that rapid prototyping techniques will eventually find their way into high volume production.