D. 正确。ought to have come=should have come表示过去本该来的,但实际没来。
昨天的聚会很开心,你本该来的,但是为什么你没来呢?
should come 指将来应该来
must have come 一定来过。 对过去事情的推测。有把握
may have come可能来过
对过去事情的推测。 没把握...
答:ought to have come 相当于should have come
should come =/= should have come.前者着眼现在和未来:You should study hard. 你应该努力学习。后者指责过去:You should have studied hard. 你本该努力学习的。(你过去学习不...