should have done ;could have done; might have done 有什么区别

 我来答
yibingruosha
推荐于2016-07-08 · TA获得超过233个赞
知道答主
回答量:97
采纳率:0%
帮助的人:69万
展开全部
should have done:本应该做而没做某事,强调“本来应该”;
could have done:本可以做却没做某事,强调“本来可以”;
might have done: 可能已经作了某事,强调猜测。

前两个都是假设,是与实际情况相反的假设。第三个是猜测。除此之外,should have done还明显含有懊悔或责怪之意。

举例来讲:

小明把家里的钥匙放在教室忘记带了。回到家打不开门一直蹲在门口等到晚上10点多加班的爸爸妈妈回来,很晚才进了家门。此场景下

1. 小明到家后发现钥匙忘带很懊悔。此时他可能会抱怨自己:I should have brought the key with me.

2. 那时的小明除了在门外等待爸爸妈妈回来,还有别的解决方案却没做:He could have come back to school to get the key but he didn't.

又如,当爸爸妈妈那么晚回来发现小明在门外,问明原因后,爸爸妈妈问他为什么当时不返回学校拿钥匙。爸爸妈妈认为若小明当时返回学校拿了钥匙的话可能早就进去了。爸爸妈妈可能会说:You could have come in much ealier if you came back school to get the key then.

3. 关于为什么当时没有返回学校拿钥匙,小明解释到:I thought the gate might have already been closed by that time.(学校大门那时候可能早已经关了)

For your reference. Tks!
百度网友2dddf35
2008-05-26 · TA获得超过2072个赞
知道小有建树答主
回答量:1952
采纳率:0%
帮助的人:1050万
展开全部
should have done 是当初该(有义务)做什么事但是没做的
could have done 是当初能(有能力)做某事但没做的
might have done 是可能做过了某事(表不确定)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式