It is strange that he had made a mistake.奇怪的是他犯了一个错误.
这是一个陈述句,就是陈述一个事实:他犯了错误让人有点奇怪.
It is strange that he (should) have made a mistake.他居然犯了一个错误,真令人奇怪.
这是虚拟语气,说话者是在责备他本不应该犯错.对啊,如果是虚拟语气的话,那should后应该是动词原形make a mistake,为什么是have made a mistake?should have done 这种搭配自身就是虚拟语气的形式,与时态是独立的
例如:
I'm really sorry that I should have gone to see you in the hospital,but I had so many things to handle at that moment.
我真的很抱歉,本应该到医院去看你的,但是我那会儿有那么多事情要应付。
I should have traveled with you last month to Dalian,which is so famous for her beauty,
我本该上月和你去以美丽闻名的大连旅行的。
He should have gone back to his hometown before the Spring Festival.
他本应该在春节前回家乡的。