语法大神求助 如何区别should have done的不同逻辑意思
It is surprising that he should have passed the exam. 他通过了考试。
He should have passed the exam last week. 他没通过考试。
两个例句,第一个不是虚拟语气,只是should的一个用法,用于惊异、赞叹、不满等的句子中,意为“竟然,竟会”,本句的should 表示惊讶。而第二个例句就是虚拟语气表达,对过去的虚拟表达用should+have done表示与过去发生的事相反的结果。
追问谢谢您,请问第一个不是虚拟的话,为什么should 后边要加have 这里的have 怎么理解,should 又是什么词性呢?一直搞不懂这样的逻辑相反长得却一样的短语。还请您详细说说。非常感谢,我会加分的。
追答就是情态动词啊,只不过表示惊讶之意而已,你去掉也无所谓,你当完成时来理解也可以,用过去式,一般现在时也可以。It is surprising that he has passed the exam.或者that he passes/passed the exam.都可以.(题外话:句子it形式主语,后面that引导主语从句)
追问非常感谢,我想再请教您一个would的问题。
1 He said that he would try again.
2 He knew When she would come.
3 He said that he will visit the country next year.
请问为什么1和2 是would 3是will 怎么理解他们的区别,谢谢。
第3句,语法点来讲,没见过这个表达,如果是引号内这么说没毛病,如果是在从句里就不该这么表达,应该是He said that he would visit the country the next year.(直接宾语变间接宾语,时间变化,加the)