我认为答案应该是B,说话人是作家,写书就是他的职业。多年来以写书为生/为职业,这是习惯完成体。A为错误,因为这是事件完成体。终结动词的现在完成时不能与for时间状语连用。如果书还没有写完,或者在说话时刚刚写完,则应该用现在完成进行时,I have been writing the book for years. 如果这本书已经写完,想要表示写书用了很多年的时间,则应该是 It has taken me years to write the book.
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!