英语问题do you know where david isDo you know where David is?I couldn`t find him anywhere.-Well.He( )have gone far-his coat is still here.A shouldn`t Bmustn`t C can`t D wouldn`tshould不是也可以表示推测吗,为什么答案是C而不是A呢?

问题描述:

英语问题do you know where david is
Do you know where David is?I couldn`t find him anywhere.
-Well.He( )have gone far-his coat is still here.
A shouldn`t Bmustn`t C can`t D wouldn`t
should不是也可以表示推测吗,为什么答案是C而不是A呢?

couldn't /can't + have done sth
等等表示对过去的推测,固定句型

shouldn't have done 是虚拟语气
表示本不应该做的事情(已经做了)

Can后加原形

should (not) have done 表示本(不)应做某事,现在却(没)做了,带有责备语气
must/can have done 都表示肯定推测,must语气更为强烈
本题中,有推测依据his coat is still here,故用can't