--- is tom still smoking?--- Is Tom still smoking?--- No.By next Saturday he ______ for a whole month without smoking a single cigarette.A.will be B.will have gone C.will have been D.has been going 为何不选C呢?

问题描述:

--- is tom still smoking?
--- Is Tom still smoking?
--- No.By next Saturday he ______ for a whole month without smoking a single cigarette.
A.will be B.will have gone
C.will have been D.has been going
为何不选C呢?

B强调动作,表示已经去了。C强调状态,表示已经去过。如I have gone to shanghai. 表示我已经去上海了,现在不在本地。I have been to shanghai. 表示我已经去过上海了。

这个并不是完成时态中go和be动词的区别问题.
go without是固定搭配,表示没有什么而将就,或者坚持在没有什么事物的情况下保持某种状态.
He can't go without smoking.他不抽烟就不行.
The family went wihout food all day.全家人一整天都没进食.
同义词有do without.
以上例句引用于外研社《最新英语短语动词词典》.