he must have done it yesteraday,――?he must have done it for
1个回答

He must have done it yesteraday,―didn't he―?

He must have done it for 2 years,―hasn't he―?

He must have been here yesterday,―didn't he―?

He must have been here for 2 years,―hasn't he―?

语法分析:

句子含表示推测的 must have done,反意疑问句的形式视具体情况而定.

有 already,for two days 等完成时的时间状语时,反意疑问句的助动词用 haven’t;

有last night,yesterday 等明确的过去时间状语时,用 didn’t;

如果两类时间状语都没有,用 haven’t 或 didn’t 都可以.

【刚才有误,不是haven't,而是hasn't.】