关于英语虚拟语气的问题.

It would have been great if we had been able to bottle the smells.

It would be a great business if you could do that.

两句都是使用虚拟语气的句子, 为什么第一句 if 后面的从句用过去完成时, 第二句的 if 后面用过去式的could? 它们是不是根据主句的时态而使用的? 能详细解释一下吗?

其实虚拟语气的考查主要就是主从句时态之间的搭配问题
以一句最简单、最好记的为标准:If I were you,(这是对现在事实的虚拟)其他的依次类推(其中的would可用could\should\might等换用。)
If +一般过去,主语+would+动词原形。
If +过去完成,主语+would + have done
If +should/ were to+动词原形,主语+would +动词原形
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-19
为你解答:

第一个句子是已经发生过的,所以用过去完成时
第二个句子是还没有发生,作为假设。

更多用法请参照:http://www.yygrammar.com/Article/200808/438.html

希望帮到你。
第2个回答  2013-06-19
第一句是对过去情况的假设。基本结构为:If +过去完成,主语+might/could/would/should+完成时
第二句是对现在或将来情况的假设。基本结构为:If +一般过去,主语+might/could/would/should +动词原形。